Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Spam
Forum PHP.pl > Forum > Przedszkole
partoles
Witam,
Mimo edycji i dodania pytania 2+7, Boty mimo tego dodają swe wiadomości, nie wiem co robić już.
Ma ktoś jakieś pomysły?
Mackos
Po 1. (Najpewniejsze) http://www.google.com/recaptcha
Po 2. Może spróbuj ustawić kilka pytań wyświetlanych losowo, ewentualnie zamień znaki na encje przy tym pytaniu.
Po 3. Sprawdź czy nie wykorzystują innej metody na dodawanie postów - może coś przeoczyłeś.
Fifi209
Sprawdzaj useragenta, dodaj jeszcze pole jakieś losowe w formularzu np.

  1.  
  2.  
  3. $val = md5(microtime());
  4.  
  5. $_SESSION['antybot'] = $val;
  6.  
  7. // formularz z inputem ukrytym
  8. echo '<input type="hidden" name="x" value="'.$val.'"/>';
  9.  


Po przesłaniu formularza weryfikujesz

  1.  
  2.  
  3. if ($_POST['x'] == $_SESSION['antybot']) {
  4.  
  5. }else{
  6.  
  7. echo 'uciekaj bocie';
  8.  
  9. }
  10.  
  11. unset($_SESSION['antybot']);
  12.  


Tak +/- pisane z palca ;p

@edit
Mackos - a sam wpisywałbyś captcha za każdym razem, gdy chcesz pisać na shoutboxie ?

@topic
Jedna ze skuteczniejszych metod to połączenie wszystkiego razem i dodanie ajax winksmiley.jpg ew. jakiegoś flasha
partoles
A możesz mi to wykonać na tym formularzu, ja niestety biegły jeszcze tak nie jestem w PHP.
  1. function wspolpraca() {
  2. $data = date("Ym");
  3. echo'';
  4. echo("<form method=\"post\" action=\"wspolpraca.php?cmd=wspolpraca_dodawanie\">
  5. Imie Dyrektora:<br>
  6. <input type=\"text\" name=\"imie\"><br>
  7. Nazwisko Dyrektora:<br>
  8. <input type=\"text\" name=\"nazwisko\"><br>
  9. Mail Dyrektora:<br>
  10. <input type=\"text\" name=\"mail\"><br>
  11. GG Dyrektora:<br>
  12. <input type=\"text\" name=\"gg\"><br>
  13. Adres Szkoly/Organizacji(bez http:// i www):<br>
  14. <input type=\"text\" name=\"daktyl\"><br>
  15. Nazwa Szkoly/Organizacji:<br>
  16. <input type=\"text\" name=\"nazwa\"><br>
  17. Wpisz w pole: <i>menelodramat</i>:<br>
  18. <input type=\"text\" name=\"oblicz\"><br>
  19. <input type=\"hidden\" name=\"akcja\" value=\"wspolpraca_dodawanie\"><br>
  20. <input type=\"submit\" value=\"Wysli\">
  21. </form>
  22. ");
  23. }
  24.  
  25. function wspolpraca_dodawanie() {
  26. $data = date("Ym");
  27. global $imie, $nazwisko, $mail, $gg, $daktyl, $nazwa, $acc, $cmd;
  28. if($imie==''){echo"Formularz nie wypełniony poprawnie: puste pola sa niedozwolone!Pole 1";}
  29. elseif($nazwisko==''){echo"Formularz nie wypełniony poprawnie: puste pola sa niedozwolone!Pole 2";}
  30. elseif($mail==''){echo"Formularz nie wypełniony poprawnie: puste pola sa niedozwolone!Pole 3";}
  31. elseif($gg==''){echo"Formularz nie wypełniony poprawnie: puste pola sa niedozwolone!Pole 4";}
  32. elseif($daktyl==''){echo"Formularz nie wypełniony poprawnie: puste pola sa niedozwolone!Pole 5";}
  33. elseif($nazwa==''){echo"Formularz nie wypełniony poprawnie: puste pola sa niedozwolone!Pole 6";}
  34. elseif($_POST['oblicz']!='menelodramat'){echo "Botów nie obsługujemy.";}
  35. else { $potwierdz = 1; }
  36. if($potwierdz=='1'){
  37. $zapytanie="INSERT INTO daktyle (imie, nazwisko, mail, gg, daktyl, nazwa, acc)
  38. VALUES ('$imie', '$nazwisko', '$mail', '$gg', '$daktyl', '$nazwa', '0')";
  39. $wynik=mysql_query($zapytanie);
  40. $id = mysql_insert_id();
  41. echo("Podanie o Współpracę Zostanie Niebawem Rozpatrzone.Mail z potwierdzeniem wypełnienia formularza dojdzie w ciągu 2h..");
  42. echo' <BR>
  43. </center>
  44. ';
  45.  
  46. mail("".$mail."", "*****");
  47. }
  48. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.