Java如何防止JS脚本注入代码实例
1.java中防止JS脚本注入的工具类-通用
publicclassXssUtil{
privatestaticMapxssMap=newLinkedHashMap();
privatestaticMapxssNewMap=newLinkedHashMap();
static{
init();
}
publicstaticvoidinit(){
//含有脚本: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]:(.*)[\\\"\\\']","\"\"");
//含有函数:eval
xssMap.put("[e|E][v|V][a|A][l|L]\\((.*)\\)","");
//含有符号<
xssMap.put("<","<");
//含有符号>
xssMap.put(">",">");
//含有符号(
xssMap.put("\\(","(");
//含有符号)
xssMap.put("\\)",")");
//含有符号'
xssMap.put("'","'");
}
/**
*清除恶意的XSS脚本
*/
publicsynchronizedstaticStringcleanXSS(Stringvalue){
Stringresult=value;
for(Map.Entryentry:xssMap.entrySet()){
Stringkey=entry.getKey();
Stringval=entry.getValue();
result=result.replaceAll(key,val);
}
returnresult;
}
Map接口提供三种collection视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序定义为迭代器在映射的collection视图上返回其元素的顺序。某些映射实现可明确保证其顺序,如TreeMap类;另一些映射实现则不保证顺序,如HashMap类。
Set
2.java中判断录入的信息是否包含emoji表情判断:
/**
*emoji表情字符正则表达式
*/
privatestaticfinalStringEMOJI_REGEX="[\\s\\S]*[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff][\\s\\S]*";
publicstaticbooleanhasEmojiStr(Stringstr){
StringnotBlankStr=org.apache.commons.lang3.StringUtils.trimToEmpty(str);
returnnotBlankStr.matches(EMOJI_REGEX);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。