Sécuriser un site
Slt tlm,
je me demandais comment securiser un site internet des injections SQL ou autres formes de Hacking.
J'ai une petite fonction que j'applique a toutes mes données avant d'etre introduites dans ma DB, mais je pense pas que ca me protege des injections.
<?
function verifcode($text) {
$text = htmlentities($text, ENT_NOQUOTES);
$text = trim($text);
$text = nl2br($text);
return $text;
}
?>
Merci bp!
+++
Moi je te conseille le htmlentities et le nl2br à l affichage et non avant l'insert en base.
Ensuite, pour la sécurité, c'est simple, faut prevoir tout ce que pourra faire l'utilisateur, donc utilisation de mysql_escape_string, test des saisies de champs avec expressions régulières, tout çà...
En effet,
Alors déjà petit conseil, htmlentities et nl2br, utilise les oui mais seulement à l'affichage.
Pour les injections SQL, il existe une fonction qui est
mysql_real_escape_string. Et dans la doc tu trouveras une fonction pour ne pas prendre en compte magic_quote qui lui utilise addslashes().
zebdinou pour les intimes / Blog : http://www.zebden.fr
Han. la old school en piste ^^
zebdinou pour les intimes / Blog : http://www.zebden.fr
OK donc il faut que j'applique la methode expliquée dans cette page
http://www.lephpfacile.com/manual_php/function.mysql-real-escape-string.php a xhaque fois que je veux inserer quelque chose dans ma DB.
J'avais penssé a autre chose, je sais pas si c'est bien ou pas, c'est de verifier que chaque donnée avec une expression réguliere:
Pour un $_GET[id] par exemple faire ceci:
if(!ereg("^[0-9]$",$$_GET[id])){
echo "ceci n'est pas un ID valide";
exit();
}
Je sais que c'est contraignant, mais qu'est ce que vous en pensé?
Merci bp!
et au fait, pourquoi vous me conseillez d'utiliser htmlentities et le nl2br a l'affichage et non a l'insertion?
Salut, car c'est si tu veux "manipuler" tes donnés en sortie de bdd, tu auras moins de difficulté a le faire sur des données brutes.
Sinon pour vérifier que l'id est valide, moi j'utilise is_numeric().
@+
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: