最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射關系的 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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Spring Schedule Task動態(tài)改寫Cron配置方式

    Spring Schedule Task動態(tài)改寫Cron配置方式

    這篇文章主要介紹了Spring Schedule Task動態(tài)改寫Cron配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java?MyBatis本地緩存原理詳解

    Java?MyBatis本地緩存原理詳解

    這篇文章主要介紹了Java?MyBatis本地緩存原理詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • java org.springframework.boot 對redis操作方法

    java org.springframework.boot 對redis操作方法

    在Spring Boot項目中操作Redis,你可以使用Spring Data Redis,Spring Data Redis是Spring提供的一個用于簡化Redis數(shù)據(jù)訪問的模塊,它提供了一個易于使用的編程模型來與Redis交互,本文給大家介紹java org.springframework.boot 對redis操作方法,感興趣的朋友一起看看吧
    2025-04-04
  • Java基礎類Class使用指南

    Java基礎類Class使用指南

    關于通過類名訪問class屬性,我朋友問過好幾次了,一直沒明白這個東西到底是什么?對此,我參照網(wǎng)友們的博客,總結(jié)了一些小知識,如發(fā)現(xiàn)錯誤,希望糾正,謝謝
    2015-12-12
  • springboot整合redis修改分區(qū)的操作流程

    springboot整合redis修改分區(qū)的操作流程

    這篇文章主要介紹了springboot整合redis修改分區(qū)的操作流程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java代碼精簡之道(推薦)

    Java代碼精簡之道(推薦)

    這篇文章主要給大家介紹了Java代碼精簡之道,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Java 策略模式與模板方法模式相關總結(jié)

    Java 策略模式與模板方法模式相關總結(jié)

    這篇文章主要介紹了Java 策略模式與模板方法模式相關總結(jié),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-01-01
  • Java虛擬機運行時棧的棧幀

    Java虛擬機運行時棧的棧幀

    本節(jié)將會介紹一下Java虛擬機棧中的棧幀,會對棧幀的組成部分(局部變量表、操作數(shù)棧、動態(tài)鏈接、方法出口)分別進行介紹,最后還會通過javap命令反解析編譯后的.class文件,進行分析方法執(zhí)行時的局部變量表、操作數(shù)棧等
    2021-09-09
  • java微信開發(fā)中的地圖定位功能

    java微信開發(fā)中的地圖定位功能

    本文通過實例代碼給大家介紹了java微信開發(fā)中的地圖定位功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • nacos配置中心遠程調(diào)用讀取不到配置文件的解決

    nacos配置中心遠程調(diào)用讀取不到配置文件的解決

    這篇文章主要介紹了nacos配置中心遠程調(diào)用讀取不到配置文件的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。
    2022-01-01

最新評論

柳江县| 武山县| 利津县| 丹寨县| 峨眉山市| 方正县| 长垣县| 宝清县| 襄汾县| 娱乐| 石河子市| 天峻县| 水富县| 肇庆市| 赤城县| 临沧市| 沅江市| 西峡县| 明水县| 专栏| 天台县| 卢湾区| 新邵县| 新巴尔虎左旗| 龙里县| 筠连县| 定远县| 报价| 丹阳市| 固原市| 华蓥市| 鄂州市| 泊头市| 上虞市| 武隆县| 宁化县| 青岛市| 穆棱市| 伊川县| 河池市| 年辖:市辖区|