欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java如何防止JS腳本注入代碼實例

 更新時間:2020年09月27日 10:55:07   作者:愛笑的berg  
這篇文章主要介紹了Java如何防止JS腳本注入代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

1.java中防止JS腳本注入的工具類-通用

public class XssUtil {
  private static Map<String, String> xssMap = new LinkedHashMap<String, String>();
  private static Map<String, String> xssNewMap = new LinkedHashMap<String, String>();

  static {
    init();
  }

  public static void init() {
    // 含有腳本: script
    xssMap.put("[s|S][c|C][r|R][i|C][p|P][t|T]", "");
    // 含有腳本 javascript
    xssMap.put("[\\\"\\\'][\\s]*[j|J][a|A][v|V][a|A][s|S][c|C][r|R][i|I][p|P][t|T]:(.*)[\\\"\\\']", "\"\"");
    // 含有函數(shù): eval
    xssMap.put("[e|E][v|V][a|A][l|L]\\((.*)\\)", "");
    // 含有符號 <
    xssMap.put("<", "<");
    // 含有符號 >
    xssMap.put(">", ">");
    // 含有符號 (
    xssMap.put("\\(", "(");
    // 含有符號 )
    xssMap.put("\\)", ")");
    // 含有符號 '
    xssMap.put("'", "'");
  }
  

  /**
   * 清除惡意的XSS腳本
   */
  public synchronized static String cleanXSS(String value) {
    String result = value;
    for (Map.Entry<String, String> entry : xssMap.entrySet()) {
      String key = entry.getKey();
      String val = entry.getValue();
      result = result.replaceAll(key, val);
    }
    return result;
  }

Map 接口提供三種collection 視圖,允許以鍵集、值集或鍵-值映射關(guān)系集的形式查看某個映射的內(nèi)容。映射順序 定義為迭代器在映射的 collection 視圖上返回其元素的順序。某些映射實現(xiàn)可明確保證其順序,如 TreeMap 類;另一些映射實現(xiàn)則不保證順序,如 HashMap 類。

Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射關(guān)系的 Set 視圖。

2.java中判斷錄入的信息是否包含emoji表情判斷:

/**
   * emoji表情字符正則表達式
   */
  private static final String EMOJI_REGEX = "[\\s\\S]*[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff][\\s\\S]*";
  
  public static boolean hasEmojiStr(String str){
    String notBlankStr = org.apache.commons.lang3.StringUtils.trimToEmpty(str);
    return notBlankStr.matches(EMOJI_REGEX);
  }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論