XSS表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在XSS攻击中,通过插入恶意脚本,实现对用户游览器的控制。 XSS攻击可以分成两种类型:
- 非持久型攻击
非持久型XSS攻击是一次性的,仅对当次的页面访问产生影响。非持久型XSS攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,从而达到攻击目的
例如:index.jsp?name=guest
- 持久型攻击 持久型XSS攻击会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在。 解决XSS攻击可以后台使用过滤器过滤掉可能存在的攻击行为。 对于皕杰报表,http请求的URL里不能有非法参数值,由于变量是一种替换参数,如果把变量拼接到请求URL里就存在XSS攻击风险。解决方案就是对需要输入的值做一个预处理,通过后再执行http请求则可避免XSS攻击风险。具体方案就是编一个过滤器,根据具体需要过滤掉非法的参数值即可。 另外,如果你用了皕杰报表自带的查询表单,也可用查询表单里的js校验写一段js脚本,对输入的变量值加以校验,也可避免XSS攻击风险。