得到了一个问题,我不太确定,所以我想我会问。
我服务器上的一个页面包含一个普通的HTML表单,旨在联系外部脚本以提交表单。
如果我打开页面,手动输入字段中的信息,然后点击“处理”,外部脚本自然会将我自己的IP地址记录为访问者。
如果我使用服务器端方法(例如cURL)自动化表单提交,它会记录什么IP地址?它是否记录服务器的IP地址,因为服务器正在向脚本发送自动请求,或者是否像往常一样记录客户端的IP地址?
答案 0 :(得分:0)
如果您依赖$_SERVER["REMOTE_ADDR"]
,它将记录它在请求中看到的地址,这取决于您的服务器上的路由设置方式。
如果您要将请求发送到localhost - 那么它实际上会记录localhost(127.0.0.1)而不是服务器的外部IP。
如果您的请求来自网上冲浪的访问者,您可以选择多种方式跟踪:
在子请求中使用标准X-Forwarded-For
标头,并跟踪跟踪任何代理请求。 (检查是否已通过$_SERVER["HTTP_X_FORWARDED_FOR"]
并将其用作实际地址,否则回退到$_SERVER["REMOTE_ADDR"]
)。
将原始IP作为一些自定义参数传递,并在请求来自某个源(例如来自localhost)时跟踪REMOTE_ADDR
。