Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过IP进行基于php web的门户身份验证_Php_Security_Ip - Fatal编程技术网

通过IP进行基于php web的门户身份验证

通过IP进行基于php web的门户身份验证,php,security,ip,Php,Security,Ip,我有一个包含基本数据输入的门户网站。问题是这是高度敏感的数据。而且数据录入人员的可信度很低。 因此,我实现了在输入时记录IP。 我面临的问题是,如果这个人开始从代理服务器转发他的IP,那么我就无法跟踪数据的真实性 如何检测IP转发是否正在发生/获取此人的真实IP地址。您可以检查X-Forwarded-For标题。但是,如果他们使用匿名代理,您将无法检索ip。您最好实施更强大的用户名/密码策略,即经常强制更改密码。您不能。没有任何可靠的方式 您将只能100%确定地知道请求发送方的IP地址。无法可靠

我有一个包含基本数据输入的门户网站。问题是这是高度敏感的数据。而且数据录入人员的可信度很低。 因此,我实现了在输入时记录IP。 我面临的问题是,如果这个人开始从代理服务器转发他的IP,那么我就无法跟踪数据的真实性


如何检测IP转发是否正在发生/获取此人的真实IP地址。

您可以检查
X-Forwarded-For
标题。但是,如果他们使用匿名代理,您将无法检索ip。您最好实施更强大的用户名/密码策略,即经常强制更改密码。

您不能。没有任何可靠的方式

您将只能100%确定地知道请求发送方的IP地址。无法可靠地检测此发件人是否为代理。如果是代理,则无法(可靠地)获取原始IP地址


要求用户使用强密码登录,或以其他方式增强您的身份验证机制。

某些代理服务器的目的是不透露用户的真实IP。但是,有些代理提供HTTP头,如“X-Forwarded-For”或“X-Real-IP”。但这些标题既不应该被认为是理所当然的,也不应该被信任。用户也可以在那里放置另一个伪造的IP

基本上,使用IP地址作为用户标识符是不可靠的

另一种识别用户的方法是cookies。最简单的情况是:将用户ID存储到cookie中,并与数据一起存储。现在用户可以使用浏览器隐私模式快速刷新cookies


一种解决方法可能是将用户ID存储在不同的位置。例如,请参见。它非常努力,从不丢失用户ID。但是,用户可能只是更换计算机,而您可能无法跟踪。你不能百分之百肯定。

我找到了这个链接:。。。它似乎提供了一种找到真正ip的方法。合法吗?@user这是假的。它所做的只是查看客户端随请求一起发送的HTTP头。这是未经验证的客户提供的数据。这就像有人告诉你“是的,我真的不是黑客。”根据TCP/IP协议的需要,你拥有的唯一真实、经过验证的地址是
$\u SERVER['REMOTE\u ADDR']
,因为你会在那里发送任何响应。对。这就是evercookie进门的地方我无法实现用户名密码,因为做数据输入的人不知道他正在被跟踪。我明白了。好吧,我的其余答案应该用在你的情况下。有时,无法跟踪用户,因此您实际上拥有一个完全开放的匿名数据输入表单。那么,你绝对不能以任何可靠的方式做任何事情。