首先明白Content-Type的意义:
text/html:此时浏览器会对接口返回的数据进行解析处理。
text/plain:浏览器将接口返回数据当做纯文本。
例如:
1.
上面这个接口,返回的Content_Type是text/html,调用完上面接口之后,会执行callback里的js语句,弹出alert弹框,有XSS和CSRF风险。
2.
上面这个接口,返回的Content_Type是text/plain,浏览器不会对返回结果做解析处理,也就不会出alert弹窗。
解决XSS和CSRF漏洞的方法:
1.将Content_Type设置为text/plain
2.对敏感字符做转义处理