新浪微博 XSS 攻击防范分析,兼谈 CSRF
QLeelulu 其实,我们每个人都写过这样的代码,就是url中的参数忘记进行HTML编码直接输出了。Django的默认模板系统在这方面做得就挺好了,它默认就是进行HTML编码的。这个其实不算CSRF了,因为它发送的请求可以取得页面上所有的信息,CSRF防范根本没用。
玄了个澄的 原则是程序中(包括数据库)处理字符串本身,转义在view层或api输出口上做。因为是否转义以及如何转义取决于内容被使用的场景
QLeelulu 回复@玄了个澄的:外部的输入肯定都是不可信的,必须进行编码的,呵呵
玄了个澄的 回复@QLeelulu:这是句老话,口口相传确实对避免风险有所帮助,但未免简单化了,还不足以表达本质。更好的说法是:对输入无需控制,在使用于格式化文本(如regex、url、sql、html)中时根据场景进行转义
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。