spamszűrés php vendégkönyvben
Sziasztok!
Nem értek a php-hez, segítséget szeretnék kérni:a vendégkönyvembe kerülő rendszeres spameket szeretném megakadályozni.Van egy olyan része kódnak,amely azt vizsgálja,hogy ha valaki megad URL címet,abban megvannak-e a szükséges karakterek:
$v['url']=htmlspecialchars("$_REQUEST[url]");
if ($v['url'] == "http://" || $v['url'] == "https://") {$v['url'] = "";}
elseif (strlen($v['url']) > 0 && !(preg_match("/(http(s)?:\/\/+[\w\-]+\.[\w\-]+)/i",$v['url'])))
Ezen az elven a comments változóban szeretném megkerestetni (és ha szerepel, megakadályozni a beírást) ezt:
"<a href="<http://"
meg lehet-e oldani az if és a preg_match függvényekkel?Úgy hogy ha megtalál hivatkozást, ez következik:
{problem("No SPAM, Thanks!","1");}
Köszönettel:duc-sai
■ Nem értek a php-hez, segítséget szeretnék kérni:a vendégkönyvembe kerülő rendszeres spameket szeretném megakadályozni.Van egy olyan része kódnak,amely azt vizsgálja,hogy ha valaki megad URL címet,abban megvannak-e a szükséges karakterek:
$v['url']=htmlspecialchars("$_REQUEST[url]");
if ($v['url'] == "http://" || $v['url'] == "https://") {$v['url'] = "";}
elseif (strlen($v['url']) > 0 && !(preg_match("/(http(s)?:\/\/+[\w\-]+\.[\w\-]+)/i",$v['url'])))
Ezen az elven a comments változóban szeretném megkerestetni (és ha szerepel, megakadályozni a beírást) ezt:
"<a href="<http://"
meg lehet-e oldani az if és a preg_match függvényekkel?Úgy hogy ha megtalál hivatkozást, ez következik:
{problem("No SPAM, Thanks!","1");}
Köszönettel:duc-sai
Badwords vs heurisztikus.
Hát, az alapvető védelmen kívül, azaz, hogy megnehezíted a spambotok dolgát mindenféle módszerekkel (CHAPTA, olyan kérdés, amit csak egy ember tud megválaszolni, JavaScript forms, stb), még léteznek a bonyolultabb módszerek, amelyek jobban kímélik a felhasználót.
Az egyik módszer az un. "badword"-ök kiszűrése, azaz a tiltott szavak módszere. Ez lehet egyszerű, azaz egy lista összehasonlítás vagy reguláris kifejezéses.
A másik a heurisztikus szűrő. Ilyen pl. a "bayesian" módszer. Azt hiszem, vannak kész komponensek rá. Ezt tanítani kell. Avagy etetni szeméttel. Ezt hasznos úgy megoldani, hogy a postokra admin módban teszel egy "mark as spam" gombot. :)
Ennyi jutott hirtelen eszembe.