zoukankan      html  css  js  c++  java
  • 什么XSS攻击?PHP防止XSS攻击函数

    什么XSS攻击?PHP防止XSS攻击函数

    发布时间: 2013-05-14 浏览次数:22325 分类: PHP教程

    XSS 全称为 Cross Site Scripting,用户在表单中有意或无意输入一些恶意字符,从而破坏页面的表现!

    看看常见的恶意字符XSS 输入:

    1.XSS 输入通常包含 JavaScript 脚本,如弹出恶意警告框:<script>alert("XSS");</script>

    2.XSS 输入也可能是 HTML 代码段,譬如:

    (1).网页不停地刷新 <meta http-equiv="refresh" content="0;">

    (2).嵌入其它网站的链接 <iframe src=http://xxxx width=250 height=250></iframe>

    防止XSS攻击测试路径:
    什么XSS攻击?PHP防止XSS攻击函数
     
    其实有很多测试XSS攻击的工具:
    • Paros proxy (http://www.parosproxy.org)
    • Fiddler (http://www.fiddlertool.com/fiddler)
    • Burp proxy (http://www.portswigger.net/proxy/)
    • TamperIE (http://www.bayden.com/dl/TamperIESetup.exe)
    对于PHP开发者来说,如何去防范XSS攻击呢?php防止xss攻击的函数
    可以用如下函数:
      1. <?PHP
      2. /**
      3. * @blog http://www.phpddt.com
      4. * @param $string
      5. * @param $low 安全别级低
      6. */
      7. function clean_xss(&$string, $low = False)
      8. {
      9. if (! is_array ( $string ))
      10. {
      11. $string = trim ( $string );
      12. $string = strip_tags ( $string );
      13. $string = htmlspecialchars ( $string );
      14. if ($low)
      15. {
      16. return True;
      17. }
      18. $string = str_replace ( array ('"', "\", "'", "/", "..", "../", "./", "//" ), '', $string );
      19. $no = '/%0[0-8bcef]/';
      20. $string = preg_replace ( $no, '', $string );
      21. $no = '/%1[0-9a-f]/';
      22. $string = preg_replace ( $no, '', $string );
      23. $no = '/[x00-x08x0Bx0Cx0E-x1Fx7F]+/S';
      24. $string = preg_replace ( $no, '', $string );
      25. return True;
      26. }
      27. $keys = array_keys ( $string );
      28. foreach ( $keys as $key )
      29. {
      30. clean_xss ( $string [$key] );
      31. }
      32. }
      33. //just a test
      34. $str = 'phpddt.com<meta http-equiv="refresh" content="0;">';
      35. clean_xss($str); //如果你把这个注释掉,你就知道xss攻击的厉害了
      36. echo $str;
      37. ?>
      38. 通过clean_xss()就过滤了恶意内容!
  • 相关阅读:
    js中两个==和三个===的区别
    软件需求工程解析
    《我们应当怎样做需求分析》阅读笔记
    需求工程阅读笔记03
    个人小软件冲刺05
    个人小软件冲刺04
    需求工程阅读笔记02
    个人小软件冲刺03
    个人小软件冲刺02
    个人小软件冲刺01
  • 原文地址:https://www.cnblogs.com/jiaosq/p/5804577.html
Copyright © 2011-2022 走看看