标签:XSS 跨站 flask 攻击 入门教程 19 HTML CSRF
安全注意事项
网站是容易被攻击的,所以我们要做好准备,我们主要介绍两种方式:
XSS(跨站脚本攻击)
跨站脚本攻击是指在一个网站的环境中注入恶任意的HTML和js。为了防止这一攻击,我们要转义HTML。
在 Flask 中,除非显式指明不转义, Jinja2 会自动转义所有值。这样可以排除所 有模板导致的 XSS 问题,但是其它地方仍需小心:
- 不使用 Jinja2 生成 HTML 。
- 在用户提交的数据上调用了 Markup 。
- 发送上传的 HTML ,千万别这么做,使用Content-Disposition: attachment头部来避免这个问题。
- 发送上传的文本文件。一些浏览器基于文件开头几个字节来猜测文件的content-type,用户可以利用这个漏洞来欺骗浏览器,通过伪装文本文件来执行HTML。
总之,宗旨就是:永远不要相信用户的输入
CSRF(跨站请求伪造)
另一个大问题是 CSRF。CSRF则通过伪装成受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行,因此对其进行防范的资源也相当稀少和难以防范,所以被认为比XSS更具危险性。
最好的方法就是携带一个token来避免,我们认识的flask-wtf提供了csrf-token来防止这种攻击。
flask-talisman
flask-talisman是为了保证安全的https头部,大家可以了解一下,这里不详细解析了。
下次见!
标签:XSS,跨站,flask,攻击,入门教程,19,HTML,CSRF 来源: https://blog.csdn.net/weixin_42183408/article/details/100065226
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。