addslashes, htmlspecialchars, htmlentities, que choisir ?

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 : addslashes, htmlspecialchars, htmlentities, que choisir ?

par VaN » 09 févr. 2006, 15:38

Je me permets de remonter le topic pour comprendre où je dois eviter les injections SQL.

Est ce que je dois utiliser mysql_real_escape_string() sur chacune de mes requetes ?

par VaN » 08 févr. 2006, 19:19

Je me renseigne petit a petit sur les injections SQL egalement. mais en quoi est ce important de proteger ces requetes, alors qu'elle ne sont pas en rapport avec l'authentification de l'utilisateur ?

et je crois utiliser une methode qui ne permette pas les injections SQL :
$user_login = $_POST['user_login'];
	$user_pass = $_POST['user_pass'];
	$sql = 	"SELECT user_id, user_pass, user_level 
			FROM frm_users 
			WHERE user_login = '".$user_login."'";
	$query = mysql_query($sql);
	$result = mysql_fetch_array($query);
	if($result['user_pass'] == md5($user_pass))
	{
}
En effet, je fais mon test en php, je ne vais pas chercher un couple login/pass dans la bdd. Cette methode est sécurisée non ?

par VaN » 08 févr. 2006, 19:13

C'est a dire que pour simplifier la vie a l'utilisateur, si il previsualise son message, j'affiche egalement un bouton submit juste en dessous, pour lui eviter de descendre la page pour poster le FORM (en gros, comme phpBB). et si il clique sur ce SUBMIT, ça envoie les données passées en HIDDEN.

par jeff » 08 févr. 2006, 19:07

un module qui permet de faire une prévisualisation de son
et alors ca ne pose pas de probleme vu que c'est pas la previsualisation que tu enregistre ??
il faut juste que tu evite les injections => mysql_real_escape_string et que evite les attaque avec js

de plus verifie tu l'activation des magic quote??(voir tuto)

par VaN » 08 févr. 2006, 19:03

petit probleme. je rajoute des addslashes() un peu partout autour des mes données. Helas, j'ai un module qui permet de faire une prévisualisation de son message sur mon forum, et pour cela, je passe le contenu posté dans un INPUT HIDDEN, et là, le addslashes() ne marche pas, le value="" se ferme meme si il y'a un \ pour echapper un " .

Alors je ne sais pas trop comment faire. Dois-je utiliser htmlentities() pour le input hidden ? Que je repasserai ensuite avec des " normal, pour lui appliquer un addslashes() :? ?

par mario » 08 févr. 2006, 18:46

chaque fonction précisée dans le titre a une action différente.
Pour en connaître quelques unes, :arrow: http://phpdebutant.org/article61.php

dans ton cas, l'utilisation de addslashes() est utile.

addslashes, htmlspecialchars, htmlentities, que choisir ?

par VaN » 08 févr. 2006, 18:38

Hello,

j'aimerais pouvoir echapper mes " et ' pour rentrer des données contenants ces caractères dans une base de données. Mais entre toutes ces fonctions, je m'y perds.

Laquelle vaut-il mieux utiliser ?

Quelles sont leurs avantages et leurs defauts ?

PS : cette base de données me sert pour un forum, peut-etre cela a t'il une importance dans le choix de la fonction.