zoukankan      html  css  js  c++  java
  • 亲测有效的几种fortify扫描安全漏洞的解决方案

    1、Header Manipulation:过滤请求头中的参数

    public static String getFilePath(String path){

    String regex = "[`~!@#$%^&*()\+\=||{}|:"?><【】\/r\/n]";

    Pattern pa = new Pattern.compile(regex);

    Matcher ma = pa.matcher(path);

    if(ma.find()){

    path = ma.replaceAll("").trim();

    }

    path = path.replace("\","/");

    path = pathj.replace("../","");

    return path;

    }

    2、Cross-Site Scripting:

    (1)Reflected:由于这个错误java和jsp中都有,附上公共java方法和公共js方法中的代码

    java:

    final static List<String> list = new ArrayList<~>();

    static{

    list.add("<");

    list.add(">");

    list.add("(");

    list.add(")");

    list.add("&");

    list.add("?");

    list.add(";");

    }

    public static String Filter(String output){

    String encode = Normalizer.normalize(output,Normalizer.Form.NFKC);

    for(int i=;i<list.size();i++){

    encode = encode.replace(list.get(i),"");

    }

    return encode

    }

    js:

    charFilter(str:String){

    let charArray = ["<",">","(",")","&","?",";"];

    let encode = str.normalize("NFKC");

    for(let i=0;i<charArray.length;i++){

    encode = encode.replace(charArray[i],"");

    }

    return encode;

    }

  • 相关阅读:
    Vue.js的组件化思想--下
    Vue.js的组件化思想--上
    Git常用命令总结
    vue基础语法
    ES6基础语法
    Vue笔记
    Vue的基本使用(一)
    es6的基本用法
    Django-admin管理工具
    Django组件-中间件
  • 原文地址:https://www.cnblogs.com/luchangzhu/p/14301977.html
Copyright © 2011-2022 走看看