• Resolved postcd

    (@postcd)


    Hello,

    one would expect to score bad visitors who tries to access pages that does not exist, but the plugin seems to be scoring particular elements of a web page not being found, which may/can NOT be fault of a visitor, because maybe admin just misconfigured website to link to non existing elements. An example:

    At /wp-admin/admin.php?page=botfend-logs i would expect to see page requests, not page elements requests. Yet there is a GET request with Path wp-content/plugins/botfend-anti-bot-firewall/assets/css/admin-file-guard.css (Yes, this file does not exist, but that folder contains other files) and i do not remember directly accessing that file (IP is mine). Screenshot: https://drive.proton.me/urls/GV6G6S2JMW#uKN98jui7meV

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Author Omajemite Don

    (@ejesgist)

    Hi @username,

    Thank you for the detailed report and screenshot.

    What happened:

    You clicked “Edit Plugin” while BotFend had Disable Plugin/Theme Editor enabled. BotFend blocked access to plugin-editor.php and displayed a styled block message. That message attempted to load admin-file-guard.css. The CSS file was missing from the initial ww.wp.xz.cn upload (my mistake – fixed in next release). Your browser requested the missing file → 404 → BotFend’s 404 System logged and scored it.

    Why this is actually good security:

    In a real attack scenario, a hacker’s browser requests the same CSS/JS assets. If I excluded asset files from scoring, attackers would have a free bypass. Every single request from a non-whitelisted IP should be scored. The system is working as designed.

    The immediate solution (already built into the plugin):

    Go to BotFend SettingsPaths tab → IP Whitelist. Add your IP address. Whitelisted IPs bypass ALL security checks – no scoring, no logging, no blocking. This is the intended workflow for trusted administrators.

    The permanent fix (next release):

    I have already added admin-file-guard.css to the plugin package. The next update will have no 404 for that file.

    Why I won’t use inline CSS or exclude asset files:

    • Inline CSS violates WordPress coding standards and can be blocked by security headers
    • Excluding .css/.js from 404 scoring creates a security hole – attackers would simply request asset files instead of PHP files

    Summary for you right now:

    1. Add your IP to the whitelist (Paths tab)
    2. Stay in Log Only Mode until confident in your settings
    3. Update to the next plugin version when released

    Thank you for the report – it helped identify the missing CSS file. Trusted admins should always whitelist their own IPs when using security plugins.

    Thanks again.

    Thread Starter postcd

    (@postcd)

    Every single request from a non-whitelisted IP should be scored.

    Then the admin should be informed (currently is not?) that this is about each request, not on each 404 page load.

    For example i would suggest adding new sentence after “Number of acceptable 404 errors prior to penalizing the visitor.” like this one “Single page may produce multiple 404 errors if page elements does not exist.”

Viewing 2 replies - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.