Download the PHP package augustash/drupal_cache_protection without Composer

On this page you can find all versions of the php package augustash/drupal_cache_protection. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package drupal_cache_protection

Drupal Cache Protection

Protects Drupal page cache from fragmentation by tracking parameters and bot abuse.

Install

Submodules

The parent module always belongs on. Submodules are opt-in based on what features the site exposes — enable each only when its trigger is present.

drupal_cache_protection_facets

Enable when: drupal/facets is enabled on the site.

Facet bot protection — count throttle, alias validation, per-IP rate limit on faceted requests. Skip on sites without faceted browsing; the middleware would only inspect requests that never reach it.

drupal_cache_protection_search

Enable when: any search exposure is present — Drupal core Search, search_api, Solr, or a custom search route reachable from the front end.

Per-IP rate limiting and page-cache kill switch on search routes. Bots blast unique queries to fragment cache_page and overload Solr — this throttles them and prevents the responses from being cached.

drupal_cache_protection_node_access

Enable when: any module implements hook_node_grants()node_unpublished, group, domain_access, workbench_access, content_access, and friends. Check with drush ev 'var_dump(Drupal::moduleHandler()->hasImplementations("node_grants"));'; the module's status report entry tells you if it has nothing to do.

Stops a node access grants rebuild from permanently caching empty content listings.

node_access_rebuild() truncates {node_access} before refilling it row by row. While the table is empty every node listing query returns zero rows for anyone without bypass node access, so anonymous requests render empty listings — and the Internal Page Cache stores them with CACHE_PERMANENT. Nothing ever evicts them: grants reach the cache as a context (user.node_grants:view), never as a tag, and core's rebuild invalidates nothing. The empty page outlives the rebuild indefinitely, until an unrelated node save or a full cache flush happens to clear it.

It reads as a content or search-index bug, not a caching one, because the listing is simply gone.

A cron check covers grants emptied by something the decorator can't see — a hand-run TRUNCATE node_access, or a database import carrying a table that was empty when it was dumped (Pantheon's env clone makes that plausible). If {node_access} is empty while published nodes exist and a hook_node_grants module is active, that state is impossible, so cron repairs it: opens the guard, runs node_access_rebuild(), purges, and resumes caching — all inside the one run.

Rebuilding costs a cold cache for a few minutes. Not rebuilding costs missing content until somebody notices, which could be days. A slow page beats absent content, and it doesn't need anyone to show up.

Nothing to configure.

Enabling


All versions of drupal_cache_protection with dependencies

PHP Build Version
Package Version
Requires drupal/core Version ^10 || ^11
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package augustash/drupal_cache_protection contains the following files

Loading the files please wait ...