Hacking DVD BackTrack, Linux, Hashe RSS Feed twitter airdump.cz BackTrack 3 4 5 6 CZ
Security a Tip
Donate a Sponzor

PHP Spam killer

spam infekce 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..

spam killer

Za konzultace díky b0 a starenka.

Diskuze AMP Security Fórum

Odkaz vede do sekce Diskuze článků a tutoriálů – komentáře směrujte do příslušné sekce.

Kam dál?



Přihlásit / Odhlásit odběr novinek

Odměna za článek pro airdump.cz

Autorská odměna za články

AMP Sec Stats

Statistika návštěvnosti 2010

Total since 2007

Zobrazení článků: 27 021 562
Zobrazení diskuzí: 256 501
Zobrazení Wiki: 1 403 246
Staženo souborů: 8 020 150
Hitů celkem [CZ + EN]: 65 132 157
Download: 1 326 421 MB

aircable host xr aircrack suite anonymizér backtrack linux bios botnet cd dvd média error exploit framework field programmable array gpu cracking hacking konference linux platforma macintosh platfroma mobilní telefony netbook novinky password cracking pc sítě pentest techniky prohlížeče webu projekt router script cracking server social software cracking software security underground video virtualizujeme vyhledávače wifi karty wifi protected access windows platforma wired equivalent privacy wireless hardware

RSS Hack a Day

RSS Aircrack-NG nod

RSS Hack Mod

RSS BackTrack