• Resolved cosbe

    (@becosfx)


    Is it possible to make Lightspeed Cache work with IP Location Block plugin?

    https://wordpress.org/plugins/ip-location-block/

    They explain that there are some attributes to be supported by a cache plugin in order for the IP block to have a chance to trigger for a cached page:

    https://iplocationblock.com/codex/compatibility-with-cache-plugins/

    Requirements for compatibility
    To achieve the demand for both security and speed, the cache plugins need to support the following requirements.

    Do not cache page
    One of the most important thing for this plugin is to prevent caching an error page where an access denied message is rendered. For this purpose, this plugin defines DONOTCACHEPAGE constant and set the flag for is_404().

    On a cache plugin side, one of the followings needs to be supported.

    Support DONOTCACHEPAGE
    Support “Do not cache 404 page”
    For example, WP Super Cache supports both of them by default, while many other plugins have 2. in their setting options.

    Deferred execution
    IP Location Block provides the option “Validation timing” which kick off this plugin at an earlier phase than other typical plugins.

    In correspondence with it, a cache plugin need to support the option for “deferred execution” or “late initialization” to give this plugin a chance to render an error page before the cached page is responded against the requests from blacklisted countries (or IPs).

    Thank you!

Viewing 10 replies - 1 through 10 (of 10 total)
  • Plugin Support qtwrk

    (@qtwrk)

    it honors DONOTCACHEPAGE by default

    for 404 page, you can go to Cache -> TTL -> Default HTTP Status Code Page TTL , change 404 3600 to 404 1 , this will make 404 page to be cached for 1 second, which is literally as no-cache

    if it is talking about javascript defer , you can check in Page Optimization – > JS option -> defer JS , or Page Optimization -> Tuning -> Defer JS exclude.

    Thread Starter cosbe

    (@becosfx)

    I might be mistaken but I think the deferring refers to the method serving the cached page AFTER the IP Location Block gets a chance of doing what it is supposed to do. If the cached page is served right away how is this plugin even supposed to work?

    Plugin Support qtwrk

    (@qtwrk)

    due to the way how LSCache works , as it is built-in into webserver, you need to do this in webserver level

    please check this page

    Thread Starter cosbe

    (@becosfx)

    So there is no way to make this more user friendly and allow the IP Location Block plugin work as it is suppose to?

    Plugin Support qtwrk

    (@qtwrk)

    sadly no , there is a technical limitation here

    the cache engine will take place before PHP and as it is integrated into webserver, therefore you need to enable this module in webserver

    alternatively , if you have CDN like QUIC cloud or Cloudflare in front that gives country code in HTTP request header , this header can be used as well

    or , if IP Location block plugin set cookie , that may also be used for such case (I know it works for language and currency , but in theory , should be usable for any IP location related case)

    the bottom line is , the cache engine needs something as “anchor” or “check point” , to differentiate it in order to invoke PHP

    Thread Starter cosbe

    (@becosfx)

    The problem with Quic CDN is that they just block countries, don’t do redirects or other granular manipulation based on IP – very rudimentary. You can’t even customize the blocking message.

    I wonder how those other cache plugins are doing it.

    Plugin Support qtwrk

    (@qtwrk)

    try this:

    don’t enable geo block in QC, then

    add this rule to your htaccess, at top of it

    RewriteRule .* - [E=Cache-Control:vary=%{HTTP:x-qc-country}]

    see how it goes

    Thread Starter cosbe

    (@becosfx)

    Thank you!

    It looks like it works, regardless if the quic.cloud is configured to block or not. Is this okay to work like this, even with the blockage set at cdn level?

    Plugin Support qtwrk

    (@qtwrk)

    when you set QC to block , it blocks BEFORE the request reaches your origin server, so you only have that QC’s block page

    if you want to disable your own custom block error page, then you can not set block at QC

    Thread Starter cosbe

    (@becosfx)

    That is what I am saying: with QC block enabled, it seems that the plugin still blocks by itself – I no longer see the QC block page, just the plugin’s. I have cleared All Cache, yet still…

    It is fine by me, for the purpose I am using it. Maybe some other cache is involved here… I just tried to understand. I will experiment more.

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘Feature request – Compatibility with IP Location Block plugin’ is closed to new replies.