nswdpc / silverstripe-userforms-ipcollection
收集提交的IP地址,考虑代理
v1.0.0
2024-07-26 07:05 UTC
Requires
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-08-26 07:23:36 UTC
README
此模块允许用户表单提交生成的消息包含一个 OriginatingIP
(原始IP),针对每个收件人。
安装
composer require nswdpc/silverstripe-userforms-ipcollection
许可证
文档
安装后
- 对于每个应该接收原始IP(或IPs)的收件人,请勾选“包含原始IP地址”复选框
- 提交时,将确定原始IP。如果失败,将使用REMOTE_ADDR作为后备。
- 项目中所有用户表单电子邮件模板应处理包含 {$OriginatingIP} 模板变量,这些通常可以在项目主题的 templates/email/ 目录中找到。
<% if $OriginatingIP %> <p>Originating IP: {$OriginatingIP}</p> <% end_if %>
对于纯文本模板也是如此。
原始IP可能不是单个IP地址,例如它可能包含任意数量的代理IP。
配置
默认情况下,该模块将尝试首先从 Cloudflare 的 CF-Connecting-IP
标头获取IP,然后从 X-Forwarded-For
标头获取。如果您不使用 Cloudflare,则此标头可能不存在,因此将被忽略。
您可以在项目配置中修改优先级和期望的标头。
--- 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'
维护者
错误追踪器
我们欢迎在此项目的 Github 问题跟踪器上提交错误报告、拉取请求和功能请求。
在打开新问题之前,请先审查 行为准则。
安全
如果您在此模块中发现安全漏洞,请首先通过电子邮件digital[@]dpc.nsw.gov.au联系,详细说明您的发现。
开发和贡献
如果您想为此模块做出贡献,请确保提交拉取请求并与模块维护者进行讨论。
在完成拉取请求之前,请先审查 行为准则。