nswdpc / silverstripe-userforms-ipcollection

收集提交的IP地址,考虑代理

安装数: 3,151

依赖: 1

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

v1.0.0 2024-07-26 07:05 UTC

This package is auto-updated.

Last update: 2024-08-26 07:23:36 UTC


README

此模块允许用户表单提交生成的消息包含一个 OriginatingIP(原始IP),针对每个收件人。

安装

composer require nswdpc/silverstripe-userforms-ipcollection

许可证

BSD-3-Clause

文档

安装后

  1. 对于每个应该接收原始IP(或IPs)的收件人,请勾选“包含原始IP地址”复选框
  2. 提交时,将确定原始IP。如果失败,将使用REMOTE_ADDR作为后备。
  3. 项目中所有用户表单电子邮件模板应处理包含 {$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联系,详细说明您的发现。

开发和贡献

如果您想为此模块做出贡献,请确保提交拉取请求并与模块维护者进行讨论。

在完成拉取请求之前,请先审查 行为准则