CAPTCHA (Completely Automated Public Turing test powiedzieć Komputery i Humans Apart) jest zdecydowanie jednym z najlepszych sposobów, aby znokautować większość spamu pojawia. Jego stały się popularne aplikacje z web 2.0. Tyle, że staną się powszechnie używane, a więc spamerzy znaleźli potrzebne do złamania go. Jeśli możesz utworzyć nową i unikatową CAPTCHA jednak, będziesz o wiele bezpieczniejsze a następnie wszyscy, którzy mają tendencję do używania tego samego skryptu po stronie witryny.
Około rok temu próbowałem prosty skrypt, dodatkowo. Jeżeli nie udało Ci się wprowadzić prawo wyniku prostej kwerendy to błąd. Ten faktycznie działa całkiem dobrze dla mnie i większości innych right now. Zwłaszcza że mają one ewoluowały do zmieniających numery wykorzystywane w dodatku po każdym odświeżyć. Kiedy mogę używać coś takiego mogę dostać jeszcze mniej spamu poprzez poślizgu. Wziąłem więc Dodatkowo skrypt o krok dalej. Dlaczego? Ponieważ jednym numerem można łatwo skopiowane przez skrypt, a ponieważ nie wszystkie serwery mam mieć pracował z ImageMagik i / lub GD Library zainstalowany.
W około 15 linii I wyruszyli z funkcji, które generowane dynamicznie dwóch liczb i pozwala na tablicy różnych znaków / tekst / symbole powiedzieć użytkownikom odpowiednie zastosowanie matematyki w różnych sposobów. Wystarczy dodać więcej, aby uczynić ją nieco bardziej skomplikowane dla spamerów. Można także zmieszać go poprzez dodanie losowych znaków między słowami: "Plus" lub "PLUS" lub "P L U S".
-
//USAGE: $answer = numbercaptcha(); -
//****** Call this between <form></form> -
//****** $_POST will contain $_POST['number'] -
//****** Check if $_POST['number'] is == to $answer -
//OPERATORS: Add additional $opperators to the array for more varriation -
function numbercaptcha ( ) { -
//Set first and second num rand(min,max) -
$firstnum = rand ( 5 , 8 ) ; -
$secondnum = rand ( 1 , 4 ) ; -
$coinflip = rand ( 1 , 2 ) % 2 ; //Picks a random equation type -
if ( $coinflip == 0 ) { -
$math = $firstnum $secondnum ; -
$operators = array ( " " , "Added To" , "Plus" ) ; -
$operatorschoice = rand ( 1 , 3 ) % 3 ; -
} else { -
$math = $firstnum - $secondnum ; -
$operators = array ( "-" , "Minus" ) ; -
$operatorschoice = rand ( 1 , 2 ) % 2 ; -
} -
echo $firstnum . " " . $operators [ $operatorschoice ] . " " . $secondnum . " = <input type= \" text \" name= \" number \" maxlength= \" 2 \" size= \" 5 \" >" ; -
return $math ; -
} - Pobierz ten kod: 0314numbercaptcha.txt
Nic nie jest bezpieczny, może to być zbyt krakingu. Ale pozwoli Ci się typowy bot lub "scenariusz dzieciak", że chce spam witryny i powodować więcej o ból głowy dla profesjonalistów chce się zajmować. Gdy ten zostanie pobity i spamerzy mają zautomatyzowany sposób ich wokół mojej metody następnie Mam na myśli inny plan. Thats jednak innego dnia.
Do tej pory Znalazłem klucz do uniknięcia spamu jest do pobytu z dala od typowych CMS i / lub sądu systemy, które zawierają kod wśród wielu innych cookie cutter witryn. Ten defiantly listy dialogowej rozwiązaniem dla większości z Was. Ale jeśli wykonania tego kodu lub coś podobnego to w miejscach, że sprawa ... ... coś unikalny można złamać przez spamerów skryptów prowadzenie witryny z typowych oczekiwań spamera.
Także wymienionych znajomemu dodawania / odejmowania może być zbyt trudna dla użytkowników i będziesz musiał stracił komentarzy / e-mail. Może bierzesz pod uwagę, że zbyt? Mam pytanie do jakości pozostawiając użytkownikowi, że jest Ci komentarz lub wysyłając e-mail, jeśli nie może dodać lub odjąć pojedyncze cyfry numerów. Chociaż można zwiększyć poprzez dostosowanie trudności w randomizacji nasion i rzucać w niektórych długo podziału. Które mogą być Overkill:).
Jeśli trzymania się z serii spam można zapoznać się z mojego ostatniego postu: 5 Ways To Catch i zapobiegania Witryna Forma Spam - część 1. I aktualizacja drugi blok kodu na tej stronie, aby sprawdzić adres URL odnoszący się do formy zapobiegania nadużyciom.





































Zostaw komentarz: