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
 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
 '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