【原创】交互型网页防止IP欺骗的技巧

        我们都知道,很多交互型网页,比如在线投票、在线答题、在线调查以及在线抽奖等,一般来说都会以用户的IP作为限制条件,限制同一IP的用户参加活动的次数。

        网络上流行着很多所谓取真实客户端IP的代码,无外乎都是通过检查代理来路来获得所谓的“真实IP”,但这个IP真的是“真实”的吗?我看未必,这类作法反倒有些聪明反被聪明误了。

        我们都知道,网页访问的协议是HTTP,而在这个协议的通讯过程中,几乎没有任何可信的数据。之所以这么说,是因为所有的HTTP协议数据都是可以伪造的,而唯一真实的,是请求页面的直接客户端IP。这个IP我们可以通过HTTP环境变量REMOTE_ADDR来获得,这可以说是唯一可信的地址数据了,而另外两个环境变量HTTP_CLIENT_IP和HTTP_X_FORWARDED_FOR,虽然指明了代理来源路径IP,但是很可惜,这些数据是不可靠的,除非你确信代理服务器是可靠的,但这几乎是不可能。

        说到这里,那么到底怎么获得客户端IP才比较靠谱,我的观点是用REMOTE_ADDR来获得直接请求的IP来源,因为这是唯一可靠的数据。如果我们信任了另外两个关于代理服务器的IP信息采用网络上流行的那些所谓取真实IP的方法呢?结果是非常糟糕的,我们会被黑客轻而易举的伪造代理来路IP,然后把我们的投票之类的数据结果刷爆。

        所以说,在需要判断和限制IP的时候,不要考虑所谓的代理IP,那些都是浮云,没有可靠的信息,防止IP欺骗最靠谱的只能是依赖检测直接的访问地址了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值