Návod na jednoduchý PHP spam killer. Máte vlastní redakční systém, používate CMS které nemá integrovanou podporu CAPTCHA? Zde je jednduchý návod jak zprovoznit primitivní (100% efektivní ochrana) v PHP. Kód zabráni uložení příspěvku do databáze – pozažmo jeho zveřejnění. Na naše „anglické“ doméně byl do fóra nasazen PunBB – jak je známo jedná se o jednoduchý a rychlý redakční systém pro diskuzní fóra. Poslední verze ale neobsahuje žádnou ochranu proti spamu. Oplatí se pracně lokalizovaný a nastylovaný PHP kód vyměnit za robusnější phpBB, s ochranou CAPTCHA? Existuje jednoduché řešení. To spočíva v úprave PHP kódu v souboru post.php. Zde je část zdrojového kód (řádek 168..)
// Clean up message from POST
$message = pun_linebreaks(trim($_POST['req_message']));if ($message == “)
$errors[] = $lang_post['No message'];
else if (strlen($message) > PUN_MAX_POSTSIZE)
$errors[] = $lang_post['Too long message'];
else if ($pun_config['p_message_all_caps'] == ’0′ && strtoupper($message) == $message && !$pun_page['is_admmod'])
$message = ucwords(strtolower($message));// Validate BBCode syntax …CUT…
zde je upravený kód
// Clean up message from POST
$message = pun_linebreaks(trim($_POST['req_message']));if ($message == “)
$errors[] = $lang_post['No message'];
else if (strlen($message) > PUN_MAX_POSTSIZE)
$errors[] = $lang_post['Too long message'];
else if ($pun_config['p_message_all_caps'] == ’0′ && strtoupper($message) == $message && !$pun_page['is_admmod'])
$message = ucwords(strtolower($message));$words = array(
„http“,
„virus“,
„href“,
„видео“,
„поxxо“,
„poxx“,
„ring“,
„sxx“,
„axxl „,
„vxxra“,
„pixxs“,
„puxxy“ );
foreach($words as $word)
{
if(stristr($message, $word))
$errors[] = $lang_post['Forbidden words in post. Access denied'];
}
// Validate BBCode syntax …CUT…
Další možnost je použití black listu, pak stačí pouze
$words = file(‘./blacklist’);
foreach($words as $word)
{
if(stristr($message,rtrim($word))) $errors[] = $lang_post['Forbidden words in post. Access denied'];
}
+ umístění souboru blacklist do složky. Po úpravě PHP kódu klesl počet spamů z 10 denně na 0. V příkladu písmeno x nahrazuje kritické části filtrované fráze.
V /lang/En/post.php stačí nadefinovat hlášku pro Forbidden words in post. Access denied. Výsledek při pokusu o odeslání příspěvku se závadným obsahem pak může vypadat třeba takhle..

Za konzultace díky b0 a starenka.
Odkaz vede do sekce Diskuze článků a tutoriálů – komentáře směrujte do příslušné sekce.
Kam dál?
- + BackTrack Linux 4 RC2 (anglická verze) kernel 2.6.35.8
+ Události & komentáře AMP Sec – podzim 2009
+ Goosh.org – neoficiální google shell
+ Jak na vlastní Hackerský video tutoriál
+ Jak uložit změny – USB instalace BackTrack Linux
+ Aktualizace BackTrack 3.3 Cz Linux vydána na novém českém DVD
+ Oprava rt73 BackTrack 3 Edimax 7318 USg
+ Crack WPA-PSK: ATI Stream SDK, CAL++ Pyrit # Ubuntu 10.04 LTS
+ Kompilace airchucknorris-ng MDK3
+ Vydána nová aircrack-ng nástavba airosrcipt verze 2.2
+ Úprava Metasploit exploitu (modul) – pre slovenský a český Windows
+ Damn Vulnerable Linux Strychnine+605
+ Nový dedikovaný server (mirror) pro data
+ AirStorm skript – náhrada za MDK3 GUI Charon
+ Virtualizujeme & aktualizujeme BackTrack Linux
+ Security scanner Nexpose v kontextu MSF Metasploit projektu
+ Giga Wordlist Creator – WPA-PSK Hack
+ Testujeme FPGA – tabulky pro crack WPA-PSK na přání (hlasuj!)
+ Airgraph-ng – vykreslení sítí z airodump-ng do PNG obrázku





