Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Kod obrazkowy - antyspamowy
Rewil
post
Post #1





Grupa: Zarejestrowani
Postów: 175
Pomógł: 0
Dołączył: 19.09.2009

Ostrzeżenie: (10%)
X----


Pomimo gdy wyswietle poprzednia zgodnosc tzn. wrzucam dla sprawdzania do sesji kod wygenerowany i zpola POST, pomimo to skrypt pisze ze wystapil blad wpisania kodu. (Pomimo ze sie zgadzaja)
  1. <?
  2. include('sesja_uzytkownika.php');
  3.  
  4. $kod_obrazka = substr(md5(date("d.m.Y.H.i.s").rand(1,1000000)) , 0 , 8);
  5.  
  6. echo $_SESSION['kod_obrazka_str']."#ses_obrazka";
  7. echo $kod_obrazka."#kod_obrazka";
  8. echo $_POST['kod_potw']."#kod_post";
  9.  
  10. $_SESSION['kod_obrazka_str'] = $kod_obrazka;
  11. if(is_numeric($ses_id)){
  12. $id_uzyt = $ses_id;
  13. }else{
  14. $id_uzyt = 0;
  15. }
  16. if($_POST['sub']){
  17. $_SESSION['kod_obrazka_post'] = $_POST['kod_potw'];
  18. if($_SESSION['kod_obrazka_post'] == $_SESSION['kod_obrazka_str']){
  19. $adres = $_POST['adres_strony'];
  20. preg_match('@^(?:http://)?([^/]+)@i',$adres, $matches);
  21. $adres_sp = $matches[1];
  22. $time = time();
  23. mysql_query("insert into strony (link, time, id_uzytkownika, status) values ('$adres_sp', '$time', '$id_uzyt', 'Oczekuje')");
  24. }else{
  25. $blad = "Podałeś zły kod";
  26. }
  27. }
  28.  
  29. ?>

Fragment odpowiadajacy za walidacje, jedyny pomysl to blad gdzies w logice. ;/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


no ale skoro jedna wartość pochodzi z $_POST['kod_potw'];, a druga jest losowana to jak mają być sobie równe?

bo losujesz ciąg znaków zapisujesz go do sesji i rozumiem że z tej zmiennej tworzysz napis na obrazku, no ale po wysłaniu formularza znowu losujesz ciąg i go nadpisujesz

odpal ten kod: i powiedz co wyświetla:
  1. <?
  2. include('sesja_uzytkownika.php');
  3.  
  4. $kod_obrazka = substr(md5(date("d.m.Y.H.i.s").rand(1,1000000)) , 0 , 8);
  5.  
  6. echo $_SESSION['kod_obrazka_str']."#ses_obrazka";
  7. echo $kod_obrazka."#kod_obrazka";
  8. echo $_POST['kod_potw']."#kod_post";
  9.  
  10. $_SESSION['kod_obrazka_str'] = $kod_obrazka;
  11. if(is_numeric($ses_id)){
  12. $id_uzyt = $ses_id;
  13. }else{
  14. $id_uzyt = 0;
  15. }
  16. if($_POST['sub']){
  17. $_SESSION['kod_obrazka_post'] = $_POST['kod_potw'];
  18.  
  19. echo $_SESSION['kod_obrazka_post']. " - ". $_SESSION['kod_obrazka_str'];
  20.  
  21. if($_SESSION['kod_obrazka_post'] == $_SESSION['kod_obrazka_str']){
  22. $adres = $_POST['adres_strony'];
  23. preg_match('@^(?:http://)?([^/]+)@i',$adres, $matches);
  24. $adres_sp = $matches[1];
  25. $time = time();
  26. mysql_query("insert into strony (link, time, id_uzytkownika, status) values ('$adres_sp', '$time', '$id_uzyt', 'Oczekuje')");
  27. }else{
  28. $blad = "Podałeś zły kod";
  29. }
  30. }
  31.  
  32. ?>


Ten post edytował tehaha 12.06.2010, 22:04:30
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.12.2025 - 04:25