Johann píše:Což skusit otočit vkládací proměnnou pomocí rutiny
Ta otočí požadovaný heslo a user je musí vkládat zrcadlově převrácené. Měl jsem to dva roky na phpBB 2.021 a za tu dobu ani jeden kus. Tedy spamu. Kdybych věděl, kam to ve "trojce" vrazit, už je to tam taky. Je to spolehlivý, tedy zatím to drží...
Já jsem také velký obdivovatel jednoduchého nápadu, který
zde zveřejnil R-stick a který na podzim 2008 našemu foru přímo vytrhl trn z paty. Tehdy jelo naše forum v dvojkové verzi a denně se naň zaregistrovávalo cca 200 spambotů. A protože jsem v phpBB naprostý začátečník, netroufla jsem si do ostrého fora vložit složitější ofic.mody proti spambotům. Za toto prosté a zároveň geniální řešení
jsem proto autorovi nesmírně vděčná.
Nedávno se mi podařilo převést forum ze zastaralé 2.0.1x do 3.0.4 (s mocným využitím rad a návodů tohoto fora
), ve které jsem očekávala silnější/modernější ochranu proti spambotům. Spamboti nás však začali opětovně bombardovat do hodiny po otevření nového/trojkového fora. Přes veškerá doporučená nastavení/ztížení kodu CAPTCHA, která jsem našla na různých podporách, kdy se pro nás smrtelníky kod stal prakticky nečitelným, se spamboti vesele registrovali dál, v neztenčené míře.
Začala jsem hledat úpravu s převráceným vkládáním kodu pro verzi 3. Nic jsem nenašla, ale každodenní otravný ruční výmaz spambotů žádajících o autorizaci mě donutil pokusit se o tuto úpravu vlastními silami. Naštěstí od přechodu na novou verzi máme zkušební forum (dvojníka našeho ostrého fora), kde se nebojím experimentovat.
Zkusila jsem tedy toto:
Kód: Vybrat vše
#-----[ phpBB 3.0.4 ]
#
#-----[ OPEN ]---------------------------------------------
includes\ucp\ucp_register.php
#
#-----[ FIND ]---------------------------------------------
if (strcasecmp($row['code'], $data['confirm_code']) === 0)
#
#-----[ REPLACE WITH ]---------------------------------------------
if (strcasecmp($row['code'], strrev($data['confirm_code'])) === 0)
#
#-----[ SAVE/CLOSE FILE ]------------------------------------------
Pak už jen vhodnými slovy upozornit registrujícího se zájemce, tj. do souboru
language\en,cz,...\ucp.php do položky/pole
'CONFIRM_EXPLAIN' přidat informaci o obráceném opisování/vkládání zobrazeného kodu.
Toť vše.
Při obráceném vložení kodu se standardně zaregistruji.
S napsáním tohoto příspěvku jsem počkala několik dní a dosud se na našem foru nezaregistroval jediný spambot.
Navíc je sympatické, že u již zaregistrovaných uživatelů v případě vyčerpání pokusů zadání jejich nicka+hesla se CAPTCHA píše normálně/standardně. (Obrácené vkládání CAPTCHA se týká čistě jen registrace.)
P.S.:
Jsem laik, PHP-jazyk neumím (úpravu jsem udělala jen na základě podobnosti příkazů ve verzi 2 a 3), budu tedy ráda/vděčna, když úpravu zkouknou a opraví, vylepší, doplní odborníci.