扫码关注官方订阅号
如上图,是我测试的一段代码访问一个IP查询服务的服务,可以看出,可以任何伪造ip地址!
当前正在做的一个PHP项目,需要验证用户的IP地址是否在授权范围中,请问有什么方法可以避免用户伪造IP?
或者,是否能提供一个其他思路?
补充:实际场景为rest调用,调用和被调用端都为服务器~
闭关修行中......
提供几个思路:
再说你评论的那个方案,其实是一种验证的手段,我倒是觉得,这种手段和对称加密没什么两样,当然对称加密成本要比你说的握手方式成本低很多。
总之,限制IP是为了做访问限制,而为了数据安全,还是要做加密和身份验证,对称加密是个好办法(对称加密中加入时间等元素,安全性一般比较高)。
我也试过这个,不止是X-FORWARDED-FOR,也可以伪造CLIENT_IP的请求头,看你的脚本如何取请求头的key, 好像就REMOTE_ADDR没办法伪造,可以取这个吧,PHP下是$_SERVER['REMOTE_ADDR'],不知道会不会存在空值的情况。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
提供几个思路:
再说你评论的那个方案,其实是一种验证的手段,我倒是觉得,这种手段和对称加密没什么两样,当然对称加密成本要比你说的握手方式成本低很多。
总之,限制IP是为了做访问限制,而为了数据安全,还是要做加密和身份验证,对称加密是个好办法(对称加密中加入时间等元素,安全性一般比较高)。
我也试过这个,不止是X-FORWARDED-FOR,也可以伪造CLIENT_IP的请求头,看你的脚本如何取请求头的key, 好像就REMOTE_ADDR没办法伪造,可以取这个吧,PHP下是$_SERVER['REMOTE_ADDR'],不知道会不会存在空值的情况。