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?
- + První screenshoty z BackTrack 4 Linux
+ GPU cracker Pyrit podporuje nyní i grafické karty ATI
+ WiFi hacking KisMac – Mac OS X Leopard 10.5.2
+ AirDrop-ng video prezentace – security konference Shmoocon 2010
+ WiFiWay Linux pro specialisty
+ Nvidia GTX480 vs ATI HD 5970 – crack WPA – Pyrit benchmark
+ Instalujeme operační systém na virtuální počítač
+ Alternativa coWPAtty Plus a genPMK Plus – návod
+ BackTrack Linux 4 RC2 (anglická verze) kernel 2.6.35.8
+ Security novinky podzim 2008
+ AiroWizard – GUI nástroj pro WLAN hacking
+ Edimax EW-7318 USg fotografie
+ Porovnání 5 wifi karet pro hacking wifi sítí
+ SpoonWEP GUI WiFi Hacking Tool
+ Bluetooth RAW Mode sniffing firmware upgrade
+ Jak uložit změny – USB instalace BackTrack Linux
+ Wardriving Bratislava, Banská Bystrica, Nitra, Košice
+ Airoscript – WEP crack skript
+ Metasploit Framework 3.5.2 privilege escalation vulnerability fix





