当前位置: 首页 > news >正文

高端企业网站制作做网站的劣势

高端企业网站制作,做网站的劣势,单县网站定制,建设宁夏分行互联网站PHP获取IP地址的方法,防止伪造IP地址注入攻击 原文:PHP获取IP地址的方法,防止伪造IP地址注入攻击PHP获取IP地址的方法 /*** 获取客户端IP地址* br /来源#xff1a;ThinkPHP* br /X-FORWARDED-FOR 是代理服务器通过 HTTP Headers 提供的客户端IP。… PHP获取IP地址的方法,防止伪造IP地址注入攻击 原文:PHP获取IP地址的方法,防止伪造IP地址注入攻击PHP获取IP地址的方法 /*** 获取客户端IP地址* br /来源ThinkPHP* br /X-FORWARDED-FOR 是代理服务器通过 HTTP Headers 提供的客户端IP。代理服务器可以伪造任何IP。* br /要防止伪造不要读这个IP即可同时告诉用户不要用HTTP 代理。* param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字* param boolean $adv 是否进行高级模式获取有可能被伪装 * return mixed*/ function get_client_ip($type 0, $adv false) {$type $type ? 1 : 0;static $ip NULL;if ($ip ! NULL)return $ip[$type];if ($adv) {if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {$arr explode(,, $_SERVER[HTTP_X_FORWARDED_FOR]);$pos array_search(unknown, $arr);if (false ! $pos)unset($arr[$pos]);$ip trim($arr[0]);}elseif (isset($_SERVER[HTTP_CLIENT_IP])) {$ip $_SERVER[HTTP_CLIENT_IP];} elseif (isset($_SERVER[REMOTE_ADDR])) {$ip $_SERVER[REMOTE_ADDR];}} elseif (isset($_SERVER[REMOTE_ADDR])) {$ip $_SERVER[REMOTE_ADDR];}// IP地址合法验证, 防止通过IP注入攻击$long sprintf(%u, ip2long($ip));$ip $long ? array($ip, $long) : array(0.0.0.0, 0);return $ip[$type]; }/*** 获得用户的真实IP地址* br /来源ecshop* br /$_SERVER和getenv的区别getenv不支持IIS的isapi方式运行的php* access public* return string*/ function real_ip() {static $realip NULL;if ($realip ! NULL) {return $realip;}if (isset($_SERVER)) {if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {$arr explode(,, $_SERVER[HTTP_X_FORWARDED_FOR]);/* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */foreach ($arr AS $ip) {$ip trim($ip);if ($ip ! unknown) {$realip $ip;break;}}} elseif (isset($_SERVER[HTTP_CLIENT_IP])) {$realip $_SERVER[HTTP_CLIENT_IP];} else {if (isset($_SERVER[REMOTE_ADDR])) {$realip $_SERVER[REMOTE_ADDR];} else {$realip 0.0.0.0;}}} else {if (getenv(HTTP_X_FORWARDED_FOR)) {$realip getenv(HTTP_X_FORWARDED_FOR);} elseif (getenv(HTTP_CLIENT_IP)) {$realip getenv(HTTP_CLIENT_IP);} else {$realip getenv(REMOTE_ADDR);}}// 使用正则验证IP地址的有效性防止伪造IP地址进行SQL注入攻击preg_match(/[\d\.]{7,15}/, $realip, $onlineip);$realip !empty($onlineip[0]) ? $onlineip[0] : 0.0.0.0;return $realip; } X-Forwarded-For地址形式列举unkonwn, unknown, 211.100.22.30172.16.20.110, 202.116.64.196, 203.81.21.6110.194.75.83, 10.194.73.11, 10.194.71.11, unknown192.168.120.57, unknown, unknown, 211.10.10.195unknown, 210.75.1.181155.161.59.47, unknown 伪造IP地址进行注入攻击 IP伪造有几种途径一种是通过是修改IP数据包有兴趣的可以去看看IP数据包的结构还有一种就是利用修改http头信息来实现IP伪造。涉及到“客户端”IP的通常使用3个环境变量$_SERVER[HTTP_CLIENT_IP]和$_SERVER[X_FORWARDED_FOR]还有$_SERVER[REMOTE_ADDR]实际上这3个环境变量都有局限性。前两个是可以随意伪造。只要在发送的http头里设置相应值就可以任意字符都可以而第3个环境变量如果用户使用了匿名代理那这个变量显示的就是代理IP。 一般获取IP后更新到数据库代码如$sqlupdate t_users set login_ip.get_client_ip(). where ...而如果接收到的ip地址是xxx.xxx.xxx.xxx;delete from t_users;-- 代入参数SQL语句就变成了update t_users set login_ipxxx.xxx.xxx.xxx;delete from t_users;-- where ...所以获取IP地址后务必使用正则等对IP地址的有效性进行验证另外一定要使用参数化SQL命令 总结 X-FORWARDED-FOR 是代理服务器通过 HTTP Headers 提供的客户端IP。代理服务器可以伪造任何IP。要防止伪造不要读这个IP即可同时告诉用户不要用HTTP 代理。如果是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] : ); }   参考文章 http://www.cnblogs.com/skiplow/archive/2011/07/20/2111751.html (伪造IP地址进行SYN洪水攻击)http://www.feifeiboke.com/pcjishu/3391.html (你所不懂的火狐浏览器妙用之伪造IP地址)https://segmentfault.com/q/1010000000095850#a-1020000000098537 (如何避免用户访问请求伪造ip)http://blog.csdn.net/clh604/article/details/9234473 (PHP使用curl伪造IP地址和header信息)http://www.cnblogs.com/lmule/archive/2010/10/15/1852020.html (REMOTE_ADDRHTTP_CLIENT_IPHTTP_X_FORWARDED_FOR)   版权声明本文采用署名-非商业性使用-相同方式共享(CC BY-NC-SA 3.0 CN)国际许可协议进行许可,转载请注明作者及出处。本文标题PHP获取IP地址的方法,防止伪造IP地址注入攻击本文链接http://www.cnblogs.com/sochishun/p/7168860.html本文作者SoChishun (邮箱:14507247#qq.com | 博客:http://www.cnblogs.com/sochishun/)发表日期2017年7月14日 posted on 2018-09-20 17:41 NET未来之路 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/lonelyxmas/p/9682236.html
http://www.yutouwan.com/news/2867/

相关文章:

  • 个人网站怎么做百度推广做服装设计兼职的网站
  • 如何做免费网站我要自学网网站
  • 专业的企业网站制作今天的新闻 联播最新消息
  • 上海手机网站网站建设基础教学设计
  • 企业门户网站建设公司网站建设 亿安网络
  • 汉中建设网站个人网页设计师
  • 网站口碑营销制作企业网站用什么软件
  • 动漫设计好学吗南宁seo推广服务
  • 免费搭建网站 优帮云专业网站设计学校
  • 网站的后台地址外贸网站开发定制
  • 博客网站做啥好成都中高风险地区名单最新
  • 企业网站文章WordPress 虎嗅主题免费
  • 云南省文山建设厅网站南昌做公司网站哪家好
  • 个人建站步骤乐天seo视频教程
  • 上海有哪些优化网站推广公司专业网站建设专家
  • 各种网站开发工具前端工程师考证报名
  • 做网站的语言版本长沙事业单位招聘信息网
  • 外国永久网站百度收录最好的网站
  • 建设一个自己的网站首页做外贸那个网站好
  • 学校网站建设自检自查报告昆明高端网站建设
  • 网站制作公司备案金融网站建设方案ppt
  • 外贸网站搭建一站式服务巩义在线
  • 云服务器建立多个网站吗wordpress 短信接口
  • 网站的logo怎么换1688官网登录入口
  • 网站找谁做网站留言板html代码
  • 广告行业做网站哪个好淘宝官网电脑版登录界面
  • 网站 为什么要备案手机app制作视频教程
  • 自己动手建设网站网站建设费用多少
  • 济南网站制作公司网店代运营托管
  • 无锡宏腾网站建设wordpress文章大纲插件