ProcessWire module that provides basic IP restriction capability.
Currently individual IPs (127.0.0.1), IP ranges (127.0.0.1-127.0.0.255) and CIDR format (127.0.0.0/24) are supported. You can also decide whether restrictions should apply to a) admin area and b) authenticated users.
Please note that this module is only meant to be used as an additional security measure in addition to typical username/password authentication or something similar, not on it's own. Especially if protected content is valuable and/or sensitive it would be a much better idea to add all IP restriction rules within (software or hardware) firewall instead of relying on a module.
Another thing to note is that this module only hooks into page rendering, so any API actions etc. that don't rely on rendering of pages will still get executed.
How to install
Copy PageRenderIPRestriction folder to your /site/modules/, go to Admin > Modules, hit "Check for new modules" and install Page Render IP Restriction. That's it.
How to use
Default out-of-the-box settings don't introduce any restrictions. You can edit module settings (Admin > Modules > Page Render IP Restriction) to include those IPs you wish to allow access to your site for. Once you've filled in at least one IP address and saved module settings restriction will be immediately effective.