jindrich.saur.cz

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.

  1. 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
  2. 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“.
  3. Stáhněte si archiv z fóra, nebo přímo z toto serveru.
  4. Rozbalte archiv a adresář „captcha“ nakopírujte do adresáře „plugins“.
  5. V galerii pomocí Plugin Manageru (Konfigurace -> Hlavní nastavení -> Zapnout pluginy -> Nastav pluginy) nainstalujte plugin Captcha kliknutím na „i“.
  6. 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“.
  7. 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';
    
  8. Hotovo, můžete vyzkoušet.

Další nastavení

  1. V souboru „captcha.php“ můžete pod řádkem „$oPhpCaptcha = new PhpCaptcha(“ změnit:
    $sOwnerText = 'http://www.fotecka.net', //
  2. 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

Tags:  ,