Newsletter...chti prob :[ - PHP - Programmation
Marsh Posté le 16-06-2005 à 16:10:20
Elle fcontionne l'étape d'inscription, parce qu'elle me semble conceptuellement bizarre ?
Marsh Posté le 16-06-2005 à 18:15:11
Non elle ne marche pas. C'est justement pour ça que je poste, je ne voit pas ce qui fait que rien ne s'écrit ds la BDD, et je vois pas pourquoi la condition n'est pas vérifié !
Pourquoi dis tu qu'elle te semble bizarre ?
Pour ce qui est de la faille, je serait curieux de savoir laquelle quand même ! Ca m'aiderait !
Rastafarie
Marsh Posté le 16-06-2005 à 18:16:48
FlorentG a écrit : /!\ Faille de sécurité monstre /!\ |
Ou sa, dit nous tout !!!
Marsh Posté le 16-06-2005 à 18:36:20
Code :
|
corrigé
Marsh Posté le 16-06-2005 à 18:38:08
Dans le champs email, essaye de mettre :
' OR true OR ' |
Ou un truc dans le genre
Marsh Posté le 16-06-2005 à 18:44:34
Rastafarie a écrit : Non elle ne marche pas. C'est justement pour ça que je poste, je ne voit pas ce qui fait que rien ne s'écrit ds la BDD, et je vois pas pourquoi la condition n'est pas vérifié ! |
Un count renvoit toujours un résultat, même si la condition que tu précises dans le where n'est jamais satisfaite. Du coup, ton test $num_rows['mail'] == 0 n'est jamais vrai
Donc, soit tu n'utilises pas count et tu vérifies le nombre de données renvoyées soit tu utilises count et tu vérifies la valeur renvoyée (un peu comme ce que propose MarTiuS, sans l'erreur de variable )
Marsh Posté le 16-06-2005 à 18:45:11
ah ok
bah moi je fais pareil mais je protége va varible email quand meme
Code :
|
C'est asser je pense non ?
Marsh Posté le 16-06-2005 à 19:04:25
naceroth a écrit : Un count renvoit toujours un résultat, même si la condition que tu précises dans le where n'est jamais satisfaite. Du coup, ton test $num_rows['mail'] == 0 n'est jamais vrai |
c'est bon, corrigé.
Vaut mieux utiliser count, c'est plus rapide normalement (surout si on a beaucoup d'entrées).
FlorentG a écrit : Dans le champs email, essaye de mettre :
|
ça va juste casser la vérification, je vois pas de vrai risque de sécurité...
Pour protéger, c'est plus correct de faire un test avec une regex :
Code :
|
Marsh Posté le 17-06-2005 à 11:29:19
Orission a écrit : ah ok
|
C'est pas htmlentities qu'il faut utiliser, mais addslashes. Et pour une base mysql, c'est mysql_real_escape_string
Martius a écrit : ça va juste casser la vérification, je vois pas de vrai risque de sécurité... |
si on se démerde bien, y'a moyen de virer toute la liste des emails, non ?
Marsh Posté le 17-06-2005 à 13:25:36
Bon alors pour la sécurité, j'ai choisi de mettre les regex, comme ça ça vérifie par la même occasion si l'email est valide : Merci MarTiuS
Mais bon apparement j'ai encore un problème : je ne suis jamais redirigé ! La page 'newsletter.php' charge pendant longtemps (en fait ça s'arrete pas )
Par contre si je met un email valide, la bdd se remplie (c'est pas mal )
Donc ma question est la suivante, pourquoi ne suis-je pas redirigé ?
Code :
|
Marsh Posté le 17-06-2005 à 14:18:06
T'est sûr pour tes header, là ? Déjà ça s'écrit pas avec un H majuscule, ensuite faut jamais mettre juste la page, faut mettre toute l'url. Et vire les double-quotes inutiles :
header('Location: http://the.site.fr/resultatnews.php?erreur=1'); |
Marsh Posté le 17-06-2005 à 14:34:44
J'ai changé tout les 'headers' en ça :
Code :
|
Et le problème persiste : la page charge infiniment pour ne jamais être redirigé !
Ne serais ce pas un problème dans le -exit;- ?
Rastafarie
Marsh Posté le 17-06-2005 à 14:35:57
Non, ce n'est pas un problème. On a même vu des gens conseiller l'exit après un header... Met une fois des echo partout pour voir à quel moment il s'arrête...
Marsh Posté le 17-06-2005 à 14:43:07
Après chaque ligne, tu fait un echo genre :
echo '1'; |
Et tu note à quel numéro il plante Ca porte un nom ce genre de pratique : ghetto-style debugging
Marsh Posté le 17-06-2005 à 14:44:30
FlorentG a écrit : Après chaque ligne, tu fait un echo genre :
|
'est du travail de gouniafier ça, mais c'est très pratique
Marsh Posté le 17-06-2005 à 14:49:18
FlorentG a écrit : si on se démerde bien, y'a moyen de virer toute la liste des emails, non ? |
Injection mySQL
J'au du mal à les voir ces failles
Marsh Posté le 16-06-2005 à 15:52:31
Lut all,
Je suis en train de faire une newsletter et j'ai un petit prob, en effet la page newsletter se charge pendant 5min pour finalement aboutir sur une page inconnu (les fameuses "impossible d'afficher la page" )
Si vous voyez une erreur dans le code ci dessou, je vous serez très reconnaissant
Voili j'espere que vous allez pouvoir m'aider parce que je tourne en rond
Rastafarie