zoukankan      html  css  js  c++  java
  • js解决跨站点脚本编制问题

    1.前台处理(容易绕过):

    <script type="text/javascript">
     $(document).ready(function(){
     var url=window.location.href;
    
     window.location.href=HTMLEnCode(url);
    });
    
    function HTMLEnCode(str) {
    var s = "";
    if (str.length == 0) return "";
    s = str.replace(/&/g, "&gt;");
    s = s.replace(/</g, "");
    s = s.replace(/>/g, "");
    s = s.replace(/ /g, "");
    s = s.replace(/"/g, "");
    s = s.replace(/'/g, "");
    s = s.replace(/
    /g, "");
    s = s.replace(///g, "");
    s = s.replace(/(/g, "");
    s = s.replace(/)/g, "");
    s = s.replace(/=/g, "");
    
    return s;
    } });
     </script>

    2.后台处理:

        /**
         * 危险字符过滤方法
         * @param str
         * @return
         * @throws Exception
         */
        public static String dangerousCharacterFilter(String str) {
            //一种解决SQL盲注的后台过虑,其方式就是将可能出现的非法字符进行规制
            //java代码替换特殊字符
            //str="^&h\/!@#$%^&*()+|/jgfj&%fgd''$#$@!)(}|";
            if(str!=null){
                str = str.replaceAll("(\|)", "");
                str = str.replaceAll("(\&)", "");
                str = str.replaceAll("(\;)", "");
                str = str.replaceAll("(\$)", "");
                str = str.replaceAll("(\%)", "");
                str = str.replaceAll("(\@)", "");
                str = str.replaceAll("(\')", "");
                str = str.replaceAll("(\")", "");
                str = str.replaceAll("(\>)", "");
                str = str.replaceAll("(\<)", "");
                str = str.replaceAll("(\))", "");
                str = str.replaceAll("(\()", "");
                str = str.replaceAll("(\+)", "");
                //str = str.replaceAll("(\CR)", "");  //回车符 ASCII 0x0d
                //str = str.replaceAll("(\LF)", "");  //换行 ASCII 0x0a
                str = str.replaceAll("(\,)", "");
                str = str.replaceAll("(\\)", "");
                str = str.replaceAll("(\#|$)", "");
           }
           return str;
        }

    3.添加过滤器(暂时没做)

  • 相关阅读:
    最新28个很棒的 jQuery 教程
    NetBeans 为PHP添加调试功能
    HTML5 存储API介绍
    PHP 变量判断
    jquery 与其它js 框架的解决办法
    从按下电源开关到bash提示符
    tar、gzip、unzip命令的详细使用方法
    Top命令中Load Average的含义
    Linux(BASH)命令搜索机制
    分析df和du的区别
  • 原文地址:https://www.cnblogs.com/shuilangyizu/p/7273652.html
Copyright © 2011-2022 走看看