天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 621|回复: 1

[已解决] 什么是XSS攻击?应该如何防止xss攻击?

[复制链接]
gjgj 发表于 2022-10-25 15:58:29 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v4.4- sp XX
【浏览器类型】:Chrome/其他
【联系方式-QQ】:请留下您的QQ号码
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:









1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\"已解决可结帖\"
 楼主| gjgj 发表于 2022-10-25 16:01:06 | 显示全部楼层
跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
如何防止xss攻击?
1、自己写filter拦截来实现。
这个filter不但可以拦截xss攻击,也可以拦截sql注入攻击。但要注意的时,在WEB.XML中配置filter的时候,最好将这个filter放在第一位。
我们知道filter谁的写在上面,谁先被过滤。比如我们有一个是否登录的过滤器如果放在上面,结果因为有漏洞,通过sql注入可以实现免登陆,而被黑客利用,导致了直接登录就麻烦了。所以要先过滤一些特殊字符,再放行去做其他业务。
2、ESAPI框架实现。
ESAPI是一套API级别的web应用解决方案。简单的说,ESAPI就是为了编写出更加安全的代码而设计出来的一些API,方便使用者调用,从而方便的编写安全的代码。
3、Spring实现。
首先添加一个jar包:commons-lang-2.5.jar,然后在后台调用这些函数。

StringEscapeUtils.escapeHtml(string); //转义html脚本
StringEscapeUtils.escapeJavaScript(string); //转义JavaScript脚本
StringEscapeUtils.escapeSql(string); //转义sql脚本
或者结合SpringMVC的InitBinder使用。
@InitBinder只在@Controller中注解方法来为这个控制器注册一个绑定器初始化方法,方法只对本控制器有效

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 19:46

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表