Problem/Motivation
We explicitly deny the External plugin to crawl private IP addresses and localhost accessible to the web server. However we should also allow a site administrator (or site host via config overrides) to deny access to crawl URLs by host pattern (hostname and/or port). This should be a deny list because the entire point of the External plugin is to allow humans to link to other web sites.
Steps to reproduce
N/A
Proposed resolution
Add a URL Deny List (host_denylist) option to the External plugin, which allows a text format administrator to enter a newline separated list of host patterns that the External plugin should not crawl. The private URL and localhost options should still exist separate from this.
Remaining tasks
- Determine if 4.0.x should have this change. Probably?
- Code
- Tests
- Config schema update + config update
- Change record
User interface changes
Adds a new form element to the configuration form.
API changes
To be determined.
Data model changes
Adds new configuration schema
Issue fork freelinking-3629151
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
mradcliffeComment #5
shamir.vs commentedI have implemented the URL Deny List (
host_denylist) configuration option for the External freelinking plugin.What’s included
host_denylistsetting to the External plugin configuration.example.com*.example.comexample.com:8080*:8080localhostand private/reserved IPv4 and IPv6 addresses.The changes are ready for review.
Kindly have a look and let me know if any changes or improvements are needed. Thanks!