|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 300 ![]() |
Bonjour,
j'ai un gros doute sur ma façon de faire pour l'enregistrement des données en toute sécurité dans une base de données mysql. voila les traitements que j'applique: - réception des données d'un formulaire - si get_magic_quotes_gpc() est activé j'enlève tous les antislashes avec la fonction stripslashes() - avec une première donnée (par exemple l'utilisateur & mdp) je vérifie dans ma base de données si celui existe de cette manière: "SELECT id FROM comptes WHERE utilisateur='".mysql_real_escape_string($user)."' AND mdp='".mysql_real_escape_string($mdp)."'" - ensuite j'insère dans ma base de données mon texte toujours en utilisant mysql_real_escape_string(). Ceci est un exemple basique, j'aimerais savoir si tout cela est sécurisé, surtout concernant la suppression des anti-slashes et l'utilisation de la fonction mysql_real_escape_string(). D'avance, merci. Thierry |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 300 ![]() |
Est-ce que quelqu'un peut m'aider ?
|
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
je dirais que oui, mais je stockerais pas le mot de passe en clair, j'utiliserais plutot :
Code :
...SHA1(".mysql_real_escape_string($pass).")...
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 300 ![]() |
oui oui, a ce niveau il n'y a pas de soucis j'utilise bien SHA1, etc..
c'est surtout pour les anti-slashes ainsi que l'utilisation uniquement de mysql_real_escape_string() merci |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Regarde au niveau des expression régulière et tu limites la porté. Tu n'autorise que des intervales de caractères specifiquer [a-z,A-Z] etc... si jamais c'est pas conforme tu le jette. J'ai un de mes ancien prof qui a reussi passé les real_escape et addslashes mais comme sur un autre forum j'ai eu tres peut de gens qui m'ont cru je vais pas lancer cette polémique ici
Personnellement je récupère d'un coté tous les utilisteurs et je fais la comparaison à l'exterieur du SQL ainsi il est impossible de faire une attaque sur la table. |
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
Moi je fais ça avant htmlspecialchars(mysql_real_escape_string()) et au besoin je filtre avec les expreg.
A moins de tomber sur un pro particulièrement violent et qui m'en veut à fond, normalement ça dois suffir emplement. (oui je sais on doit utiliser htmlspecialchars en sortie et pas avant l'insertion nananinananere mais j'en démords pas ça économise des ressources comme ça).
__________________
C'est pas parce que j'ai tort que vous avez raison. |
|
|
00
|
|
|
#7 | |
![]() Développeur Web Inscription : juillet 2003 Messages : 676 ![]() |
Citation:
__________________
Articles sur developpez.com - Gestion des exceptions avec PHP5 - Chiffrement et hash en PHP contre l'attaque Man in the middle - Aedituus - Espace membre sécurisé en PHP5 Lithium : ORM ActiveRecord PHP5 extrêmement léger |
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
ça peut se contourner mysql_real_escape_string() d'ailleurs ?
__________________
C'est pas parce que j'ai tort que vous avez raison. |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 300 ![]() |
c'est ce que je souhaitait savoir, même si je ne l'ai pas formulé ainsi, bonne question !
un avis pro serait le bien venu. |
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
faite un tour sur le site de phpdirection il y a un article très complet sur ce sujet. En résumé, il y a pas de fonction idéal. Ce que je peux vous dire c'est qu'il y a rien de fiable pour un pro du crackage. Sauf séparer la requete du contrôle.
|
|
|
00
|
|
|
#11 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
Et bien justement, que signifie "séparer la requête du contrôle ?"
__________________
C'est pas parce que j'ai tort que vous avez raison. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com