Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] zabezpieczenie formularza przed spamerami
Forum PHP.pl > Forum > Przedszkole
artus898
Witam.
To mój pierwszy post na tym forum więc przepraszam jeśli coś będzie nie tak.
Jest to formularz komentarzy na stronie www. Chciałbym zmodyfikować go tak aby było tam zabezpieczenie antyspamerskie. Tak aby boty mi nie dodawały zbędnych komentarz (śmieci). Chodzi mi o to że np. ktoś dodaje komentarz i musi wpisać np. ile to jest 2+2 lub przepise kod z obrazka.
Z góry dzięki za pomoc

<?php


// nazwa pliku z trescia komentarzy

$nazwa = 'komentarze.txt';





// zapis jesli co wyslano z formularza

if($_POST['tytul'] & $_POST['tresc'] & $_POST['autor'])

{

$fp=fopen($nazwa, 'a');

flock($fp, 2);

fwrite($fp,$_POST['tytul'].'||'.strip_tags(strtr($_POST['tresc'],'\n',' ')).'||'.$_POST['autor'].'\n');

flock($fp, 3);

fclose($fp);

}


// jezeli juz istnieja jakies komentarze

if(is_file($nazwa))

{

$linia = explode('\n',file_get_contents($nazwa));

$ilosc = count($linia);

for($i=0; $i<$ilosc; $i++)

{

$komentarz = explode('||',$linia[$i]);

echo '<br /><b>'.$komentarz[0].'</b><br />'.$komentarz[1].'<br /><i>'.$komentarz[2].'</i><br />';

}

}

else

echo 'Jeszcze nie ma zadnych komentarzy. Badz pierwszy i skomentuj!<br /><br />';



?>
mortus
Takie zabezpieczenie nazywa się CAPTCHA. Poszukaj w Google informacji na ten temat. Przyjrzyj się reCAPTCHA, może Cię zainteresuje.
Poza tym zastanów się nad zastosowaniem bazy danych na swojej stronie, bo zapisywanie komentarzy w plikach tekstowych nie jest dobrym rozwiązaniem.
everth
Dwa rozwiązania - albo zastosowanie reCaptcha, albo specjalnego filtru antyspamowego (np. Sblam!), ew. takie sposoby (wydają mi się dosyć proste do obejścia, ale kto wie - może działają winksmiley.jpg ).
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.