我想跳过登录过程,而是使用PHP的“$_SERVER['REMOTE_ADDR']
”功能保存用户的服务器IP,并将它们保存在数据库中,以便以后在我的网站上执行活动时进行识别,现在问题就是这样。
我是否必须通知用户我正在保存这些信息,就像我会使用Cookie一样?
答案 0 :(得分:0)
$_SERVER['REMOTE_ADDR']
是
TCP连接的源IP,不能替换为 更改HTTP标头。
并且:
虽然技术上可以双向欺骗IP地址 在互联网上(通过BGP宣布犯规路线),此类攻击是 可能被发现并且不适用于典型的攻击者 - 基本上,您的攻击者必须能够控制ISP或运营商。 对TCP没有可行的单向欺骗攻击 (然而)。然而,在LAN上双向IP欺骗是微不足道的。
参考:Is it safe to trust $_SERVER['REMOTE_ADDR']?
进行IP地址过滤是一种通过使用IP地址白名单来减少攻击面的方法,但不进行身份验证,因为它只会验证网络地址而不是人员。
E.g。如果其他人碰巧使用同一台计算机,他不需要输入任何密码来获得相同的功能。因此,您无法在个人层面强制执行问责制。
但是,如果您将IP过滤与其他内容结合使用,例如在IP过滤之上的PIN码,已经好一点了。
答案 1 :(得分:-1)
您不必通知。由于欧盟法律,会通知cookie。 默认情况下,Apache像大多数其他类似的程序一样保存访问日志,以及您可能在服务器中使用的许多其他工具。无论如何,这些都保存了用户IP地址。所以你已经在保存它们了。 https://httpd.apache.org/docs/2.4/logs.html
这种方法的问题是,移动连接上的人(使用相同IP的整个区域),在同一个房屋上,或使用不同的浏览器将共享相同的IP。或者,使用移动设备旅行的人将不断更换IP,具有动态IP地址的人(这样的国家/地区,这种情况非常普遍)
想象一下,您使用的是两个Gmail帐户,无论使用哪种浏览器,它都只会将您登录到同一帐户。通常人们会期望一个网站是新鲜的"例如,在其他浏览器中运行时。
查看会话,这可能就是你想要的。