Forum Replies Created

Viewing 15 replies - 1 through 15 (of 31 total)
  • Plugin Author veppa

    (@veppa)

    Hmm, this can happen if plugins are loaded and performed remote requests before “HTTP Requests Manager” loaded.

    To prevent such behavior I should force loading of this plugin before all other plugins. Probably with mu-plugin (must use plugin) functionality.

    I will think about it for next release.

    Thank you for reporting.

    Plugin Author veppa

    (@veppa)

    Thank you for reporting.

    I will probably increase timeout per remote request from 1 second to 2 seconds in next plugin update.

    Still it should be much faster than default timeout time 5 seconds per request.

    Regards.

    Plugin Author veppa

    (@veppa)

    Thank you!

    Plugin Author veppa

    (@veppa)

    Q:1. http requests from cron jobs can be logged but not blocked?’

    A:1. Generally no, but some limitations are removed. Requests in cron job are not limited by 3 requests per page and 3 second page time. It is done to avoid blocking some important API requests that are not directly slowing down admin pages. Because cron is built to handle slow processes. Plugin will not block requests in cron unless they are not explicitly blocked by any “Custom rule” in “Smart block” mode. Other blocking modes will not allow any requests in cron job that are not permitted by given mode.

    • In “smart block” mode http requests will not be blocked if the are not blocked by any custom rule. For example if you add custom rule to block example.com domain or example-plugin everywhere then it will be blocked in cron as well.
    • In “Block external requests” mode all external requests will be blocked even in cron job.
    • In “Block external requests (allow wordpress.org only)” mode all external and not wordpress.org request will be blocked in cron job as well.

    Q:2. would be cool if these could be blocked to in “Smart block”, “Block external requests” and “Block external requests (allow WordPress.org only)“
    -> i recognized that “Snitch” blocked more…and than i realized to these blockings came from cron jobs…


    A:2. Most HTTP requests inside cron job will not be blocked in smart block mode because cron job can run for long time without effecting user experience (pages that admin or visitors are viewing).
    Behavior of HTTP requests in each blocking mode explained above in A:1.

    Q:3. would also be cool to have an option “Block external requests” WITHOUT smart block and “Block external requests (allow WordPress.org only)” WITHOUT smart block
    -> sometimes a cron job needs to be fullfilled and the smart block rules restrict important cron jobs..

    A:3. Cron jobs are initiated as a WP_HTTP request. If for any reason cron job is not run on current page then it will run on next page. For example if page is slow and loads for more than 3 seconds then cron job request from that page will be blocked. On any next page request cron job will run if page is faster than 3 seconds.

    You can use custom rules to perform similar behavior.
    Example 1: block external requests without applying smart block restrictions:
    1) Select “smart block” mode.
    2) Custom rule 1: Allow domain yourdomain.com
    3) Custom rule 2: Block all requests.
    This way 3 second page limit and 3 requests per page will not apply to yourdomain.com. All other external requests will be blocked.

    Example 2: Allow WordPress and your domain, block everything else without restricting 3 requests per page and 3 second page time.
    1) Select “smart block” mode.
    2) Custom rule 1: Allow domain yourdomain.com
    3) Custom rule 2: Allow domain api.wordpress.org
    4) Custom rule 3: Allow domain downloads.wordpress.org
    5) Custom rule 4: Block all requests.

    Q:4. What can happen to a site if these following rules are used is that a site could be damaged am I right?

    • Page processing time exceeded 3 seconds.
    • Number of request for single page reached 3.
    • Sets timeout for each request to 1 second.
    • Sets number of redirects for request to 1.

    A:4. WordPress “core” functionality is not effected by this restrictions. Plugins relying on critical API requests like sending mail, getting data from remote server can break because of these restrictions. In such cases you can monitor all requests for some period and then allow requests to those important domains or by related plugins adding custom rule in smart block mode.

    Also WP_HTTP requests are not 100% reliable. Request can fail for multiple reasons like temporary network problem or remote server problem. Plugin developers should know it and retry failed requests ideally after some time inside other page request.

    Purpose of this plugin is to block not important external requests on slow pages like loading news/ads/upsells/promotions related to other plugins and themes. This plugin will let you see how they slow down your admin and front end pages.

    Thank you for these questions. Sometime it is hard to make clear how plugin will handle request depending on multiple factors.

    Regards.

    Plugin Author veppa

    (@veppa)

    In smart block mode you can add following rules to block everything except custom domain.

    • domain: examle.com -> Allow: everywhere
    • All -> block: everywhere

    Specific rules have high priority than general rule. So matching domain will be allowed. everything else will be blocked.

    Added rules will be sorted automatically by high priority at the top.

    You can also add rules to allow api.wordpress.org and downloads.wordpress.org domains.

    Plugin Author veppa

    (@veppa)

    Hello,

    Thank you for reporting.

    Select box in Custom Rules, with not populated domain names issue was related to .js file. Fixed it and released version 1.2.3

    Regards.

    Plugin Author veppa

    (@veppa)

    Yes custom rules apply only in “Smart block” mode. Added this info to readme file as well.

    Not sure if “Custom rules” will be useful in other blocking modes.

    • This reply was modified 4 months, 3 weeks ago by veppa.
    Plugin Author veppa

    (@veppa)

    Thank you for detailed report. Fixed issue in latest version 1.2.3

    Regards.

    Plugin Author veppa

    (@veppa)

    This issue is probably fixed when fixed variable name error.

    “$default” instead of “$defaul”

    Regards.

    Plugin Author veppa

    (@veppa)

    Thank you for reporting. Fixed issue and released updated version 1.2.2.

    Regards.

    Plugin Author veppa

    (@veppa)

    Hello,

    Thank you for reporting.

    To manage requests added feature to block or allow requests by domain or plugin in new version 1.2.1.

    Follow these steps to prevent unintentional blocking of some important API requests.

    • Run plugin in only log mode for couple days to record many requests.
    • Check logs report and identify important requests by domain or plugin.
    • Create custom rule in “Settings” to allow important requests by domain or plugin.
    • Switch “Operation mode” to smart block.

    Hopefully this will help many other users as well.

    Regards.

    Plugin Author veppa

    (@veppa)

    Update took some additional time, sorry for delay.

    New version 1.2.1 has some cool features:

    • Group requests by domain, plugin, response status etc.
    • Custom rules can be added for conditional logic to block or allow some requests by domain or plugin.

    Regards.

    Plugin Author veppa

    (@veppa)

    Thank you for reporting @fidoboy

    Fix will be released with next update in couple days.

    Update will have additional features as well.

    Regards.

    Thread Starter veppa

    (@veppa)

    Error seems to be resolved. Thank you for quick fix.

    Regards.

    Plugin Author veppa

    (@veppa)

    Thank you for reporting. Updated “tested up to 6.0”

Viewing 15 replies - 1 through 15 (of 31 total)