An open API service indexing awesome lists of open source software.

https://github.com/gocom/rah_ip_range

Restricts access to Textpattern CMS pages
https://github.com/gocom/rah_ip_range

php textpattern textpattern-plugin

Last synced: 17 days ago
JSON representation

Restricts access to Textpattern CMS pages

Awesome Lists containing this project

README

          

h1. rah_ip_range

"Download":https://github.com/gocom/rah_ip_range/releases | "Packagist":https://packagist.org/packages/rah/rah_ip_range | "Issues":https://github.com/gocom/rah_ip_range/issues

Rah_ip_range is a "Textpattern CMS":https://textpattern.com plugin for restricting visitors' access to certain parts of site content based on their IP addresses. The plugin introduces a little Textpattern tag that takes an IP address range and an executed action. The tag can either be used to hide parts of a page template or to invoke a customizable error page.

h2. Install

Using "Composer":https://getcomposer.org:

bc. $ composer require rah/rah_ip_range

Or "download":https://github.com/gocom/rah_ip_range/releases an installer package.

h2. Basics

bc.
...contained statements...

The plugin introduces a new Textpattern tag, @@. The tag can be used to restrict visitor's access to certain parts of page template content or full pages based on their IP address. The tag takes an IP range, set by @from@ and @to@ attributes. A visitor that is in the specified range will be either denied or allowed access to the content based on @deny@ or @allow@ boolean attribute.

The tag can be used both as a container and as a self-closing single tag. When used as single tag, the tag invokes an error page when the visitor is within denied range. As a container, the tag hides the wrapped content, but doesn't invoke an error page. A container can also take a "else":https://docs.textpattern.com/tags/else statement, which is served as an alternative content to denied visitors.

h2. Attributes

*message*
Error message shown to blocked visitors.
Example: @message="Sorry, we can not do that."@ Default: @"Forbidden."@

*status*
HTTP error status code returned to blocked visitors. The option is ignored when the tag is used as a container.
Example: @status="404"@ Default: @"403"@

*from*
IP-range's starting IP (or partial IP). Default is unset.
Example: @from="127.0.0.1"@ Default: @""@

*to*
IP-range's ending IP (or partial IP). Default is unset.
Example: @to="127.0.0.100"@ Default: @""@

*allow*
Allow visitors within the specified IP range. This is the default action.
Example: @allow@ Default: @allow@

*deny*
Deny visitors within the specified IP range. Opposite of **allow**.
Example: @deny@ Default: _undefined_

h2. Examples

h3. Using as a self-closing single tag

bc.

Visitors within the range of 127.0.0.1-127.0.0.100 are blocked will see an error page.

h3. Using as a container

bc.
Important link.

Link is hidden.

Visitors within the range 127.0.0.1-127.0.0.100 will see an important link, while others won't. Instead they are treated with _"Link is hidden."_ message where the link would be.

h2. Changelog

h3. Version 0.5.0 - 2022/04/17

* Register the tag for Textpattern >= 4.7.0 compatibility.
* Rename @fromip@ to @from@, @toip@ to @to@, split @method@ attribute to @allow@ and @deny@ boolean attributes.
* Now requires Textpattern >= 4.7.0.

h3. Version 0.4 - 2012/07/13

* Added: "else":https://docs.textpattern.com/tags/else (@@) tag support for container mode.
* Changed: default HTTP status to _403 Forbidden_ from _503 Service Unavailable_.
* Changed: default message to @Forbidden.@, @403_forbidden@ l18n string.
* Changed: @message@ attribute doesn't apply when tag is used as a container, instead of "else":https://docs.textpattern.com/tags/else can be used.

h3. Version 0.3 - 2011/06/29

* Changed: parsing contents of @message@ isn't needed. Parser's straight quote feature can be used instead.
* Changed: pass parameters to @txp_die()@ as strings instead of an array.

h3. Version 0.2 - 2011/06/25

* Added: container tag mode.

h3. Version 0.1 - 2008/10/31

* Initial release.