Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

Fonction automatiques ?

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
cybrnetik
WRInaute discret
WRInaute discret

Inscrit le: 30 Juin 2006
Messages: 81
Localisation: Essonne

URL permanente de ce messagePosté le : Ven Jan 19, 2007 21:23    Sujet du message: Fonction automatiques ?

Bonjour,
Je suis en train de créer un formaulaire pour mon site et lors de l'envoi vers la base de données j'effctue un addslashes et un htmlentities cependant je me demandai si cela n'était pas maintenant fait automatiquement lors de l'envoi d'une requete sur la base sql ?

Merci de vos réponses
 
cybrnetik Visiter le site web du posteur
fablezouave
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 20 Déc 2006
Messages: 109
Localisation: Montreuil, 93

URL permanente de ce messagePosté le : Ven Jan 19, 2007 22:33    Sujet du message: Fonction automatiques ?

salut

Si PHP est configuré pour, le addslashes() est fait automatiquement sur les données provenant de formulaires, cependant cette fonction n'est pas faîte pour proteger les données qu'on passe à une base de données, c'est une erreur très commune que de l'utiliser. Il FAUT utiliser la fonction spécifique à chaque base de données. Pour MySQL, par exemple, la fonction d'echappement est mysql_real_escape_string() :
http://php.net/mysql_real_escape_string. En utilisant addslashes(), tu t'exposes à des vulnaribilités.
Quand à htmlentities(), ça n'a rien à voir, et c'est totalement inutile de l'utiliser.

fab
 
fablezouave Visiter le site web du posteur
cybrnetik
WRInaute discret
WRInaute discret

Inscrit le: 30 Juin 2006
Messages: 81
Localisation: Essonne

URL permanente de ce messagePosté le : Ven Jan 19, 2007 23:39    Sujet du message: Fonction automatiques ?

Donc en fait si j'ai bien compris le fonctionnement de la fonction mysql_real_escape_string, il faut que je fasse :
Code:
$x = mysql_real_escape_string($x);
$y = mysql_real_escape_string($y);
$z = mysql_real_escape_string($z);
mysql_query("INSERT INTO mabase VALUES ('', '".$x."', '".$y."', '".$z."') ") or die(mysql_error());


Ps : En fait je me sert juste du htmlentities pour empecher les utilisateurs de mettre du code executable
 
cybrnetik Visiter le site web du posteur
KOogar
WRInaute accro
WRInaute accro

Inscrit le: 16 Nov 2004
Messages: 2869
Localisation: Bangalore +3h30

URL permanente de ce messagePosté le : Ven Jan 19, 2007 23:42    Sujet du message: Fonction automatiques ?

Salut Fab,

Question :

mysql_real_escape_string() vient en remplacement de la fonction mysql_escape_string() qui elle est depreciée ?
 
KOogar Visiter le site web du posteur
cybrnetik
WRInaute discret
WRInaute discret

Inscrit le: 30 Juin 2006
Messages: 81
Localisation: Essonne

URL permanente de ce messagePosté le : Ven Jan 19, 2007 23:49    Sujet du message: Fonction automatiques ?

Oui c'est ce que j'ai vu sur la doc php
 
cybrnetik Visiter le site web du posteur
david96
WRInaute accro
WRInaute accro

Inscrit le: 28 Aoû 2005
Messages: 1205
Localisation: Grenoble

URL permanente de ce messagePosté le : Sam Jan 20, 2007 4:34    Sujet du message: Fonction automatiques ?

fablezouave a écrit:

Quand à htmlentities(), ça n'a rien à voir, et c'est totalement inutile de l'utiliser.

fab

Ha bon ? Faudrait dire pourquoi là ! Laughing

Au contraire j'aurais poussé le vice à dire :
mysql_real_escape_string(htmlentities($variable));
Ou alors à la place d'htmlentities() mettre htmlspecialchars() (ne touche pas à tous les caractères spéciaux, notamment les accents) ou alors strip_tags() qui supprime les balises html

Comme le dit cybrnetik l'htmlentities() transforme les caractères tels que "<>" en entité html qui pourraient avec qqs fonctions javascript (et autres) s'avérer potentiellement dangereuse dans un formulaire !
 
david96 Visiter le site web du posteur
ACth
WRInaute passionné
WRInaute passionné

Inscrit le: 11 Nov 2006
Messages: 795

URL permanente de ce messagePosté le : Sam Jan 20, 2007 8:38    Sujet du message: Fonction automatiques ?

htmlentities() n'est utile que pour l'affichage.

mysql_real_escape_string() est utile pour insérer des données dans la base de données.
 
ACth Visiter le site web du posteur
fablezouave
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 20 Déc 2006
Messages: 109
Localisation: Montreuil, 93

URL permanente de ce messagePosté le : Sam Jan 20, 2007 12:08    Sujet du message: Fonction automatiques ?

ACth a écrit:
htmlentities() n'est utile que pour l'affichage.

mysql_real_escape_string() est utile pour insérer des données dans la base de données.

+1

fab
 
fablezouave Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort