<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in action.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>194d338681b559bf46a61e6fd49d98dea7193d22 - Move IpCounter to date-based tmpdir storage with daily cleanup</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#194d338681b559bf46a61e6fd49d98dea7193d22</link>
        <description>Move IpCounter to date-based tmpdir storage with daily cleanupIpCounter files were stored in the cache directory without cleanup,causing inode exhaustion on busy sites. Files are now stored intmpdir/captcha/ip/Y-m-d/ with automatic daily cleanup via indexer.Also reorganizes FileCookie to tmpdir/captcha/cookie/Y-m-d/ forconsistency and moves timeout config loading into IpCounter constructor.fixes #146

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Thu, 22 Jan 2026 11:34:21 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
<item>
        <title>563fb5668f85b2cd8c67a6d8af2d4597cbcfdaa7 - Add exponential timeout for failed login attempts</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#563fb5668f85b2cd8c67a6d8af2d4597cbcfdaa7</link>
        <description>Add exponential timeout for failed login attemptsIntroduces a configurable brute-force protection mechanism that enforcesincreasing wait times between login attempts. The timeout doubles witheach failure (e.g., 5s &#8594; 10s &#8594; 20s &#8594; ...) up to a configurable maximum.New settings:- logindenial: Base timeout in seconds (0 to disable)- logindenial_max: Maximum timeout cap (default 1 hour)The feature works independently of CAPTCHA protection - failed attemptsare tracked per IP using the existing IpCounter mechanism, and usersare shown the remaining wait time when blocked.

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Thu, 22 Jan 2026 10:13:15 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
<item>
        <title>5e79b2eea7f28344fca5ac039a0cb2862e5a817a - clean up action.php, remove support for deprecated forms</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#5e79b2eea7f28344fca5ac039a0cb2862e5a817a</link>
        <description>clean up action.php, remove support for deprecated forms

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Wed, 06 Dec 2023 10:58:05 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>c6d794b3c9d4f058a62b1ade70316fe9384e4827 - move file cookies to class</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#c6d794b3c9d4f058a62b1ade70316fe9384e4827</link>
        <description>move file cookies to class

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Wed, 06 Dec 2023 10:11:40 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>09b1e97e3cb9f2c4be8ca729baa9d49a3ba58ba1 - first go at cleaning up the code</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#09b1e97e3cb9f2c4be8ca729baa9d49a3ba58ba1</link>
        <description>first go at cleaning up the code

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Wed, 06 Dec 2023 09:45:17 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>64382f292cb5c1c7154e8fd095ef7180282ebf84 - use $INPUT for access to $_SERVER. fixes #131</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#64382f292cb5c1c7154e8fd095ef7180282ebf84</link>
        <description>use $INPUT for access to $_SERVER. fixes #131

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Sat, 27 Aug 2022 16:24:14 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>c0439b03b248613e1fae4533fcb04c5eb8020e63 - fix form handling</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#c0439b03b248613e1fae4533fcb04c5eb8020e63</link>
        <description>fix form handlingThe recent login protect change actually influenced all forms insteadonly applying to the login form

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Thu, 04 Aug 2022 19:31:25 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>31c8e2bd96f192966ad30320d923903ad88fa46e - fix failed login counter. closes #129</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#31c8e2bd96f192966ad30320d923903ad88fa46e</link>
        <description>fix failed login counter. closes #129Fixes two problems:* every request was counted as a failed login because $_REQUEST[u] is  nearly always set (to an empty string)* the captcha entry was displayed one request too late, because the  event registration happened before the login fail counting

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Mon, 25 Jul 2022 11:06:46 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>969b14c4e3ba4be207f4542079c3a4d093268325 - added bruteforce protection on login</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#969b14c4e3ba4be207f4542079c3a4d093268325</link>
        <description>added bruteforce protection on loginThe new default for protecting the login now takes failed logins fromthe originating IP into account.

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Tue, 11 Jan 2022 12:10:20 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>186227361d0efe9f0e20bd52c87dfbf939efb53a - auto reformat code</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#186227361d0efe9f0e20bd52c87dfbf939efb53a</link>
        <description>auto reformat code

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Tue, 11 Jan 2022 10:53:15 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>1c08a51c93133f56d523962518a3729c88bcf3c9 - add compatibility for new FORM_* events</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#1c08a51c93133f56d523962518a3729c88bcf3c9</link>
        <description>add compatibility for new FORM_* events

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Wed, 10 Nov 2021 19:50:02 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>3718d442b51aa1e95d5068a200f9912fbb3f3f2c - Updated comment</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#3718d442b51aa1e95d5068a200f9912fbb3f3f2c</link>
        <description>Updated comment

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Fri, 16 Jun 2017 15:19:21 +0000</pubDate>
        <dc:creator>Mois&#233;s Braga Ribeiro &lt;moisesbr@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>49a3e24e94e5d5fd9b16dc85eca432ce6be31609 - Highlighted CAPTCHA before submit button</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#49a3e24e94e5d5fd9b16dc85eca432ce6be31609</link>
        <description>Highlighted CAPTCHA before submit button

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Thu, 15 Jun 2017 20:58:09 +0000</pubDate>
        <dc:creator>Mois&#233;s Braga Ribeiro &lt;moisesbr@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>5d59bd0900c6a738f01095dbda4ca9440c70f31d - update the lastrun file correctly</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#5d59bd0900c6a738f01095dbda4ca9440c70f31d</link>
        <description>update the lastrun file correctly

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Wed, 01 Feb 2017 21:34:29 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>cde3ece1b2b75d735e60463369185c6646617354 - clean up old captcha cookies</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#cde3ece1b2b75d735e60463369185c6646617354</link>
        <description>clean up old captcha cookiesOld cookies are now cleared once per day.

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Wed, 01 Feb 2017 19:12:52 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>643f15bdb4f70ed41444d2b6d19e24f3d640baf4 - optionally require a CAPTCHA on login</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#643f15bdb4f70ed41444d2b6d19e24f3d640baf4</link>
        <description>optionally require a CAPTCHA on loginmakes plugin:captchalogin obsolete

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Fri, 17 Apr 2015 20:08:39 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>f74276b88372a902ec3afb17d672e19b09c5ea69 - now protects the password reset mechanism as well</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#f74276b88372a902ec3afb17d672e19b09c5ea69</link>
        <description>now protects the password reset mechanism as well

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Fri, 17 Apr 2015 19:21:42 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>bd26d35b7b32407ed0189c28198eae135056a68b - a bit cleaner way of handling the different modes</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#bd26d35b7b32407ed0189c28198eae135056a68b</link>
        <description>a bit cleaner way of handling the different modes

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Fri, 17 Apr 2015 19:12:51 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>6ee10a68403244a06038486cb81bd0fa5c955c73 - removed config for registration</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#6ee10a68403244a06038486cb81bd0fa5c955c73</link>
        <description>removed config for registrationI don&apos;t see any reason why anyone should ever switch this off

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Fri, 17 Apr 2015 18:55:38 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>7218f96ceebeadf8d318824c7833a4bda6f325c9 - removed deprecated events</title>
        <link>http://127.0.0.1:8080/history/plugin/captcha/action.php#7218f96ceebeadf8d318824c7833a4bda6f325c9</link>
        <description>removed deprecated events

            List of files:
            /plugin/captcha/action.php</description>
        <pubDate>Fri, 17 Apr 2015 18:45:00 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
</channel>
</rss>
