html标签中onclick 嵌套单双引号及XSS的处理方法

οnclick="updateCategory(event, '${fn:replace(fn:replace(e:forHtmlContent(item.key), "'", "\\'"), '"', '"')}');"

item.key的内容为 test

注意几点

1. <%@ taglib uri="https://www.owasp.org/index.php/OWASP_Java_Encoder_Project#advanced" prefix="e" %> 防止XSS

2. 双引号替换成\" 在html标签中无效,因为\转义是javascript中的用法,但是替换成转义字符就可以,html会渲染成双引号

3. 单引号换成'则不行,因为onclick中实际是javascript,这时候就要用javascript的方法

你可能感兴趣的:(html标签中onclick 嵌套单双引号及XSS的处理方法)