User Tools

Site Tools


res:plugins:fpcaptcha

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
res:plugins:fpcaptcha [2025/06/01 19:49] – [Download] fraenkimanres:plugins:fpcaptcha [2025/06/07 00:37] (current) – [Check PHP Configuration] fraenkiman
Line 5: Line 5:
  
 ===== Description ===== ===== Description =====
-A very simple captcha plugin.+Simple but effective captcha plugin. It brings more security, accessibility and bot defense.
  
 {{:res:plugins:frank:captcha1_2_1.png?361|}} {{:res:plugins:frank:captcha1_2_1.png?361|}}
Line 13: Line 13:
  
 ==== Download ==== ==== Download ====
-{{ :res:plugins:frank:captcha1_2_1.zip |}} | Requires FlatPress 1.4 Notturno or higher+{{ :res:plugins:frank:captcha1_2_2.zip |}} | Requires FlatPress 1.4 Notturno or higher
  
-=== Voice output === +==== Optionally - Voice output for better accessibility ==== 
-The server must support [[https://en.wikipedia.org/wiki/ESpeak|eSpeak]] for voice output+  [[https://en.wikipedia.org/wiki/ESpeak|eSpeak or eSpeak-NG]] must be installed on the server and located in the system path (calling ''which espeak-ng'' or ''which espeak'' may return a valid path). 
 +  * Optionally, the ''lame'' codec for .mp3 output can also be installed on the web server for better compatibility with visitors' end devices. 
 +  * PHP functions ''exec'' and ''passthru'' (as well as ''shell_exec'', ''system'', ''proc_open'') must not be disabled. 
 +  * No restrictive ''open_basedir'' setting may prevent the execution of eSpeak.
  
 +==== Demo ====
 +[[https://frank-web.dedyn.io|https://frank-web.dedyn.io]]
 +
 +
 +
 +
 +==== Install eSpeak or eSpeak-NG ====
 +a) Install classic eSpeak:
 +<code bash>
 +sudo apt update
 +sudo apt install espeak
 +</code>
 +
 +b) Or install the newer eSpeak-NG:
 +<code bash>
 +sudo apt update
 +sudo apt install espeak-ng
 +</code>
 +
 +Check installation with:
 +<code bash>
 +which espeak
 +which espeak-ng
 +</code>
 +
 +==== Optional: Install LAME for MP3 output ====
 +<code bash>
 +sudo apt install lame
 +</code>
 +
 +Verify:
 +<code bash>
 +which lame
 +</code>
 +
 +==== Check PHP Configuration ====
 +Make sure the following functions are NOT disabled in ''php.ini'':
 +<code ini>
 +disable_functions =
 +</code>
 +
 +These must NOT appear in disable_functions:
 +  * ''exec''
 +  * ''shell_exec''
 +  * ''passthru''
 +  * ''system''
 +  * ''proc_open''
 +If they are listed, remove them and restart the web server.
 +
 +==== Check open_basedir Restrictions ====
 +If ''open_basedir'' is set in ''php.ini'' or virtual host config, ensure it includes the directories for ''espeak'' and ''lame'':
 +<code ini>
 +open_basedir = /var/www:/usr/bin:/usr/local/bin:/tmp
 +</code>
 +
 +You can check active values with:
 +<code php>
 +<?php
 +echo ini_get("open_basedir");
 +?>
 +</code>
 === Changelog: === === Changelog: ===
 +== 2025-06-06 (V1.2.2) by Fraenkiman ==
 +  * Fixed: no playback of the audio captcha on iOS
 +  * Changed: The FlatPress session cookie is only set to samesite None for the duration of the delivery of the image captcha.
 == 2025-06-01 (V1.2.1) by Fraenkiman == == 2025-06-01 (V1.2.1) by Fraenkiman ==
   * Fixed: Correct solution in the Brave browser with incognito window outputs incorrect input.   * Fixed: Correct solution in the Brave browser with incognito window outputs incorrect input.
res/plugins/fpcaptcha.1748800179.txt.gz · Last modified: by fraenkiman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki