Hacking DVD BackTrack, Linux, Hashe RSS Feed twitter airdump.cz Staň se naším fanouškem na Facebooku
Security&Tip
Donate&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?



Odebírat novinky emailem

Autorská odměna za článek

Autorská odměna za články

MikroPlatby (PayPal Donate)

Slova pro stránku

jyxo hacking wifi sítí wikipedie anténa blbost gratulace konzultace wifi hacking průniky do sítí a připojení k Internetu nejlepších programů zdarma kódování WPA hack program zistenie WEP passwordu wireless LAN blackhole promiskuita win wireless security auditor

24h statistika AMP

Přečteno textů 83%
Obrázků 790
UIP 1720
Zobrazení 4930
WiKi 2407 zobrazení
BLOG 742 hitů
Download 490MB
Donate 0,73

Free WiFi
WiFi AP 186 000 AP
Celkem 1361 hotspotů
Zobrazení 4200

Fórum
Registr 1740 uživatelů
Diskuze 759
Komentáře 3946
Zobrazení 1812

Pwn
Secret :)
Teplota CPU 76°C :)