Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Walka z robotami spamującymi
Forum PHP.pl > Forum > Przedszkole
terreska
Zajrzałam na tą stronkę: http://antyspam.pl/
Chciałabym mieć takie coś u siebie, ale własnej roboty.
W jaki sposób mogę wygenerować jakiś adres email, o przykładowej długości 10 literek/cyferek?
MagnuM
Wystarczy że dodasz link, lub button z linkiem na swoją stronę, a roboty same na nią wejdą. Na stronei któą podałeś jest jak to zrobić.
terreska
Niestety, źle mnie zrozumiałeś.
Chodzi mi o napisanie mojego własnego kodu generującego fałszywe adresy mail.
MagnuM
O, wybacz.

Szczerze powiem że nie wiedziałem jak to zrobić, ale znalazłem na forum ciekawą funkcję:

  1. <?php
  2. function randomkeys( $length )
  3. {
  4. $pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
  5.  
  6. for($i=0; $ i < $length; $i++)
  7. {
  8. $key .= $pattern{rand(0,35)};
  9. }
  10. return $key;
  11. }
  12. ?>


  1. <?php
  2. echo randomkeys(10) .'@'. randomkeys(5) .'com';
  3. ?>


Coś na ten kształt... ;-)
terreska
Dziękuję.
Skrypt wygląda następująco:

  1. <?php
  2. function randomkeys( $length )
  3. {
  4. $pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
  5. for($i=0; 
  6. $i < $length; $i++) ;  
  7. {  
  8. $key .= $pattern{rand(0,35)};
  9. }
  10. return $key;}
  11. ?>
  12.  
  13. <?php
  14. echo randomkeys(10) .'@'. randomkeys(5) .'com';
  15. ?>


Losuje w takim stylu:
e@8com

... czyli nie ma kropki przed com. Przydałoby się również aby tekst przed i po małpie był dłuższy. Ktoś pomoże?
MagnuM
  1. <?php
  2. echo randomkeys(10) .'@'. randomkeys(5) .'.com';
  3. ?>


Zabrakło kropki... już sam mogłeś się domyślij szczerze mówiąc...

Powinno działać... ale zauważyłem że jest średnik po zadeklarowaniu pętli for. Usuń go i sprawdź
terreska
Jak kasuje średnik, to wywala błąd.
MagnuM
Ehh..

ma być:

  1. <?php
  2. for($i=0; $i < $length; $i++)
  3. {
  4. $key .= $pattern{rand(0,35)};
  5. }
  6. ?>

a było:
  1. <?php
  2. for($i=0; $i < $length; $i++) ;
  3. {
  4. $key .= $pattern{rand(0,35)};
  5. }
  6. ?>


Sprawdź dokładnie i będzie grało ;-)
terreska
Dziękuję za pomoc i wyrozumiałość smile.gif

EDIT: Jaka jest skuteczność ochrony przed takimi robotami, np na stronie http://antyspam.pl/
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.