问题
今天溜达的时候,看见小帅眉头紧锁,一副被掏空的样子,本着助人为乐的精神,我就去关心关心,
我:小帅啊,怎么回事,做晚没睡好啊?
小帅: 啊? 我遇到点问题,他前后端传值对不上,明明前端穿了,后端也接了,可就是会少点东西?
我:嗯?那么神奇,给我瞅瞅
小帅开始演示
这里没有图,简单举个例子
前端Payload中有类似于这样的数据
例: 根据专家的研究结果,<CYTT>这种方法可以显著提高生产效率
但是后端接受到的却是
根据专家的研究结果,这种方法可以显著提高生产效率
这个问题相信大家应该一眼就能看出来是怎么回事,小帅还是吃了没有经验的亏,那么如何解决才算是比较优美呢?
解决方案
很明显,是防止Xss攻击,
那么什么是XSS攻击呢:
XSS(跨站脚本攻击)是一种常见的网络安全威胁,它利用了网页应用程序对用户输入数据的不正确处理,从而使攻击者能够在受害者的浏览器中执行恶意脚本。XSS攻击通常发生在包含用户提交内容的网页上,比如留言板、评论区等。
攻击者通过在网页中注入恶意脚本代码,例如JavaScript,这些脚本会在用户浏览该页面时被执行。当受害者访问被注入恶意脚本的页面时,脚本会利用浏览器的漏洞或使用DOM(文档对象模型)操作来进行各种恶意行为,如窃取用户敏感信息、篡改网页内容、劫持用户会话等。
所以小帅遇到的问题,就是因为后端的XSS过滤了一些敏感内容,像<>符号,就很容易被判定为有Xss攻击的奉贤
解决方式1
最简单粗暴的,就是将我们需要传输特殊内容的接口开放
例如
但是这样依旧会有XSS攻击的风险,所以需要后端人员写一下更详细的校验规则.
解决方式2
如果我们只是一些普通的文本标签的话,可以使用我们的转义字符
当然这就要辛苦我们的前端同事
前端开发人员应该将所有特殊字符进行转义,以确保它们被当做文本而不是HTML代码来解析。常见的转义包括将 <
替换为 <
,将 >
替换为 >
等。
以上就是关于Xss过滤传值不正确的两种简单方式