Coppermine Gallery a Captcha
Oslovilo mě několik lidí s prosbou o radu, jak se zbavit spamu ve Fotogalerii používající systém Coppermine. Celé řešení je vlastně v implementaci pluginu Captcha, který způsobí, že neregistrovaný uživatel musí při různých operacích opisovat kód z obrázku, což spamerským robotům výrazně ztěžuje práci.
Tento popis je více méně překladem návodu na Coppermine fóru a instrukcí obsažených přímo v pluginu.
- Plugin vyžaduje na serveru nainstalovanou knihovnu GD 2.x s podporou FreeType. Nejprve si tedy ověřte, že ji máte. V galerii – Administrátorské nástroje -> Zobraz phpinfo. Sekce GD musí obsahovat následující:
- GD Support – enabled
- GD Version – 2.0 or higher
- FreeType Support – enabled
- Pokud máte aktivní starší verzi pluginu Captcha, tak ji odinstalujte:
- V galerii najděte Plugin Manager (Konfigurace -> Hlavní nastavení -> Zapnout pluginy -> Nastav pluginy) a odinstalujte plugin Captcha kliknutím na křížek.
- Odstraňte adresář „captcha“ z adresáře „plugins“.
- Stáhněte si archiv z fóra, nebo přímo z toto serveru.
- Rozbalte archiv a adresář „captcha“ nakopírujte do adresáře „plugins“.
- V galerii pomocí Plugin Manageru (Konfigurace -> Hlavní nastavení -> Zapnout pluginy -> Nastav pluginy) nainstalujte plugin Captcha kliknutím na „i“.
- Zkopírujte soubor „plugins/captcha/captcha.php“ do hlavního (root) adresáře galerie. Na Linuxu je vhodnější vytvořit symbolický link pomocí „ln -s plugins/captcha/captcha.php captcha.php“.
- Zkopírujte soubor „plugins/captcha/lang/english.php“ na „plugins/captcha/lang/czech.php“ a řádky:
$lang_plugin_captcha_conf = 'Confirm:'; $lang_plugin_captcha_error = 'Confirmation code didn\'t match';
upravte na:
$lang_plugin_captcha_conf = 'Opište kód'; $lang_plugin_captcha_error = 'Neopsali jste kód správně, zkuste to ještě jednou';
- Hotovo, můžete vyzkoušet.
Další nastavení
- V souboru „captcha.php“ můžete pod řádkem „$oPhpCaptcha = new PhpCaptcha(“ změnit:
$sOwnerText = 'http://www.fotecka.net', //
- V souboru „codebase.php“
- změnou proměnné „$CAPTCHA_TIMEOUT“ změnit hodnotu platnosti kódu v databázi. číslo je uvedeno v sekundách.
- změnou pole „$CAPTCHA_DISABLE“ určit které skupiny nemusí opisovat kód při
-
$CAPTCHA_DISABLE = array('login' => 'Administrators,Registered', Přihlášení 'register' => 'Administrators,Registered', Registraci 'comment' => 'Administrators,Registered', Vložení komentáře 'report' => 'Administrators', Reportu 'ecard' => 'Administrators', Odeslání pohlednice );
Z mého osobního pohledu jsou důležité řádky komentářů a pohlednic.
Pokud chcete, aby všichni registrovaní uživatelé mohli přidávat komentáře bez opisování kódu, nechte je ve skupině „Registred“ a nemusíte dál nic nastavoval.
Uvedený postup je vyzkoušený na galerii verze 1.4.14 a pluginu verze 3.0. Podle sdělení na stránkách projektu by eliminování spamu pomocí opisování kódu z obrázku mělo být automaticky zakomponováno do verze 1.5 a nebude tedy nutné nic explicitně dodělávat.
Funkční plugin můžete vidět například při přidávání komentářů k fotkám v mojí fotogalerii.
Kategorie: Informační technologie