Comment sécuriser mon script dans index.php?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Comment sécuriser mon script dans index.php?

Re: Comment sécuriser mon script dans index.php?

par moogli » 19 sept. 2012, 22:01

ton code est sensible aux injections SQL.
Ce type de faille permet d'exploiter un, champ de formulaire ou u paramètre d'url pour avoir accès au sgbd.

Par exemple, dans ton code $choix à pour valeur '; delete * from users, tu risque d'avoir un gros souci d'utilisateur ;)


pour éviter cela tu dispose de la fonction mysql_real_escape_string, cela "échappper" les caractère spéciaux comme la quote.

par exemple :
<?php
$sql = 'select * from table where id='.mysql_real_escape_string($id);

@+

Re: Comment sécuriser mon script dans index.php?

par Akernedo » 19 sept. 2012, 21:52

J'ai utilisé la méthode décrite dans le lien, ça a marché du tonnerre, on ne voit pas de différence à l'usage! Merci beaucoup!
Pour l'histoire de protéger les requêtes SQL je dois l'avouer, je n'ai pas bité un mot. Mais c'est comme ça qu'on apprend. Tu pourrais m'en dire un peu plus s'il te plait? Je dois avouer que je suis relativement débutant en création de sites web, je n'ai pas les bons réflexes et encore moins toutes les connaissances.

Re: Comment sécuriser mon script dans index.php?

par moogli » 19 sept. 2012, 17:33

salut,

- tu t'exploite pas la requete SQL

il faut toujours vérifier que le fichier existe sur ton serveur

donc utilise un tableau avec les fichiers qui peuvent être inclus et tu vérifie ça.

Je te conseil ce tuto pour corriger ton soucis http://phpdebutant.org/article68.php

Tu devrais aussi utiliser mysql_real_escape_string pour protéger tes requete SQL (plus d'infos dans la doc).


@+

Comment sécuriser mon script dans index.php?

par Akernedo » 19 sept. 2012, 17:02

Bonjour!
J'ai créé il y a quelques mois de cela un site pour une société d'informatique. Pour la navigation, j'utilise un script php via des include et un jeu de conditions pour afficher les pages dans une div qui s'appelle, naturellement, "page".
Voici le script qui inclut les documents en question:
<div id='page'>
			<?php
			$choix=$_GET['choix'];
			$accueil='accueil.php';
			$sql="select * from $choix";
			$resultat=mysql_query($sql);
			if(isset($choix)){
			include($choix.".php");
			} else {
			include($accueil);}
			?>
[html]</div>
Les URL se présentent sous la forme monsite/index.php?choix=page

Donc, voilà ce que j'ai. Manque de bol, il y a des attaques incessantes sur le site, qui passeraient par ce script, qui s'appelleraient des attaques par "inclusions de fichiers distants". Sauf que la méthode que j'emploie je la tiens d'un prof qui crée beaucoup de sites web, je la pensais fiable. Comment régler ce problème pour que le site ne soit plus attaqué, ou en tout cas que ces attaques ne soient plus réussies?

Merci d'avance!