nswdpc / silverstripe-userforms-ipcollection
Collect IP addresses of submissions, taking into account proxies
Installs: 3 857
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 1
Type:silverstripe-vendormodule
pkg:composer/nswdpc/silverstripe-userforms-ipcollection
Requires
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2025-12-22 01:14:10 UTC
README
This modules allows messages generated from user form submissions to include an OriginatingIP, on a per-recipient basis.
Installation
composer require nswdpc/silverstripe-userforms-ipcollection
License
Documentation
All user form email templates in your project should handle include the {$OriginatingIP} template variable, these can usually be found in the templates/email/ directory of a project or its theme(s).
<% if $OriginatingIP %> <p>Originating IP: {$OriginatingIP}</p> <% end_if %>
After installation
- For every recipient who should receive an originating IP (or IPs), check the 'Include the originating IP address' checkbox on the "Email Content" tab.
When a submission is made, the originating IP will be determined
The Originating IP may not be a single IP address, for instance it could include any number of proxy IPs.
Configuration
By default, the module will attempt to get an IP first from the Cloudflare CF-Connecting-IP header, then from the X-Forwarded-For header. If you don't use Cloudflare, it's unlikely that this header will be present and so it will be ignored.
You can modify the priority and expected headers in project configuration:
--- Name: 'reset-userforms-ipcollection' After: - '#nswdpc-userforms-ipcollection' # reset IP NSWDPC\UserForms\IpCollection\IP: ip_priority: [] --- Name: 'app-userforms-ipcollection' After: - '#reset-userforms-ipcollection' --- # Set project-based IP priorities NSWDPC\UserForms\IpCollection\IP: ip_priority: - 'SOME_OTHER_HEADER' - 'X_FORWARDED_FOR'
Maintainers
- PD Web Team
Bugtracker
We welcome bug reports, pull requests and feature requests on the Github Issue tracker for this project.
Please review the code of conduct prior to opening a new issue.
Security
If you have found a security issue with this module, please email digital[@]dpc.nsw.gov.au in the first instance, detailing your findings.
Development and contribution
If you would like to make contributions to the module please ensure you raise a pull request and discuss with the module maintainers.
Please review the code of conduct prior to completing a pull request.