您的位置:首页 > 新闻资讯 >文章内容
PHP如何防止伪造地址攻击
来源:互联网 作者:admin 时间:2019-10-03 10:05:00

  除了MySQL,代理IPH还能够用于很多不同的开发软件中,比如PHP。PHP如何防止伪造IP地址注入攻击?跟着机灵代理来看看这个问题如何解决吧!


PHP如何防止伪造地址攻击


  伪造IP地址进行注入攻击:


  IP伪造有几种途径,一种是通过是修改IP数据包,有兴趣的可以去看看IP数据包的结构,还有一种就是利用修改http头信息来实现IP伪造。涉及到“客户端”IP的通常使用3个环境变量:$_SERVER['HTTP_CLIENT_IP']和$_SERVER['X_FORWARDED_FOR']还有$_SERVER['REMOTE_ADDR']实际上,这3个环境变量都有局限性。前两个是可以随意伪造。只要在发送的http头里设置相应值就可以,任意字符都可以,而第3个环境变量,如果用户使用了匿名代理,那这个变量显示的就是代理IP。


  一般获取IP后更新到数据库代码如:$sql="update t_users set login_ip='".get_client_ip()."' where ...",而如果接收到的ip地址是:xxx.xxx.xxx.xxx';delete from t_users;-- ,代入参数SQL语句就变成了:"update t_users set login_ip='xxx.xxx.xxx.xxx';delete from t_users;-- where ...


  所以获取IP地址后,务必使用正则等对IP地址的有效性进行验证,另外一定要使用参数化SQL命令!


  总结:


  1、"X-FORWARDED-FOR" 是代理服务器通过 HTTP Headers 提供的客户端IP。代理服务器可以伪造任何IP。


  2、要防止伪造,不要读这个IP即可(同时告诉用户不要用HTTP 代理)。


  3、如果是PHP,$_SERVER['REMOTE_ADDR'] 就是跟你服务器直接连接的IP,用这个就可以了。


  获取服务器IP地址:


  /**

  * 获取服务端IP地址

  * @return string

  * @since 1.0 2016-7-1 SoChishun Added.

  */

  function get_host_ip() {

  return isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '');

  }


  从了解攻击是如何实现到防止的解决方案,我们可以看到PHP的使用是非常具有灵活性的。想要了解更多代理IP、大数据相关资讯,请关注机灵代理。


相关文章内容简介
推荐阅读
  • 30 2019-03
    针对网站设置的反爬,Python爬虫应对策略有哪些?

    互联网发展到现在,网站不设置反爬虫机制,那根本是不用运营了,分分钟被各种爬虫占满。不同的网站设置的反爬虫程度不一,越是大的网站,这反爬虫机制越是完善。针对网站设置的反爬,

  • 01 2019-10
    Python代码性能优化 代理IP用7点技巧帮助你

    现如今,用户体验的影响因素越来越重要,一个程序只有能够给用户带来好的体验,这样用户才会乐意使用,才能够留住用户。而性能就是影响用户使用的关键因素,所以用Python写代码的时候,

  • 12 2020-08
    代理有哪些服务器类型

    Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。如果您在企业网或校园网上,需要透过防火墙或通过代理服务器访问Internet就可能需要使用SOCKS。一般情况下,对于

  • 25 2019-10
    个人用户获得免费代理IP方式

    对于爬虫学习者来说,练习是很有必要的,因为看了再好的教程跟理论,都比不上一次一次的反复操作,从实践中学习,能够快速提升。但是如果练习次次都需要购买代理IP服务,那么这费用确

  • 18 2019-05
    高匿名代理ip使用格式

    高匿名代理ip使用格式与普通的IP地址格式是一样的,并无什么不同。我们先来看看普通IP地址的格式:

  • 22 2019-05
    IP代理的适用范围比网游加速器广

    IP代理的适用范围比网游加速器广,虽然从原理上来说IP代理的原理和网游加速器的原理其实都是一样的,网友加速和IP代理都是通过第三方的服务器实现的。

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部