Comment prévenir les attaques par injection de code en PHP?

Je suis un peu confus, il ya tellement de nombreuses fonctions en PHP, et certains à l'aide de cela, certains en les utilisant. Certaines personnes utilisent: htmlspecialchars(), htmlentities(), strip_tags() etc

Qui est la bonne et que faites-vous le plus souvent?

Est-ce correct (me conseiller un meilleur, le cas échéant):

$var = mysql_real_escape_string(htmlentities($_POST['username']));

Cette ligne peut empêcher l'injection MySQL et attaque XSS??

Btw, est-il d'autres choses, je dois faire attention en plus d'attaques XSS et MySQL injection?

MODIFIER

De conclure:

Si je veux insérer une chaîne de caractères de la base de données, je n'ai pas besoin d'utiliser htmlentities, il suffit d'utiliser la mysql_real_escape_string. Lors de l'affichage des données, de l'utilisation htmlentities(), c'est ce que tu veux??

Résumer:

  • mysql_real_escape_string utilisé lors de l'insertion dans la base de données
  • htmlentities() utilisé lors de la transmission de données dans la page web
  • htmlspecialchars() utilisé quand?
  • strip_tags() utilisé quand?
  • addslashes() utilisé quand?

Quelqu'un peut-il remplir dans le point d'interrogation?

  • strip_tags() peut être dangereux securiteam.com/unixfocus/5UP0C15DFI.html
  • Vous pourriez être concerné par CSRF et directory transversal, le moyen le plus facile de fixer directory transversal est basename(realpath($path)).
InformationsquelleAutor bbtang | 2009-07-30