Python Web 应用如何解决安全问题?例如 XSS,注入之类的。

2014-05-18 00:33:34 +08:00
 ss098
现在的应用正在使用 Tornado,试了一下接收数据,居然没有过滤。

因为一直在使用 PHP 开发 Web,所以 Python Web 了解的比较少。

Google 了好几圈没结果,应该怎么处理这些问题?
7237 次点击
所在节点    Python
18 条回复
ericls
2014-05-18 00:46:39 +08:00
应该有相应的库吧。。
对应不同的使用环境
比如bleach是一个基于白名单的html过滤器
django flask对于表单都有csrf_token相关的东西
tornado没用过
数据库注入我倒是没怎关注过 我连sql都不会 全部交给django orm或者sqlalchemy了
ipconfiger
2014-05-18 00:59:41 +08:00
请LZ仔细看文档,可以在文档内搜索csrf 相关内容
davidli
2014-05-18 01:01:00 +08:00
使用现成的framework
补充楼上的, tornado 里是 xsrf_cookies
SQL injection的话, 写SQL语句的时候只要不手动拼接string,而是使用现成的函数,就能避免了吧。
binux
2014-05-18 01:02:42 +08:00
为什么要过滤?正确转义不就完了
yakiang
2014-05-18 01:04:50 +08:00
yakiang
2014-05-18 01:05:13 +08:00
主要还是看官方文档吧
binux
2014-05-18 01:13:49 +08:00
@yakiang 这文章写得好挫啊,居然手动转义html entity,一句话就搞定的事
$('<div>').text('<a>').html()
yakiang
2014-05-18 01:59:40 +08:00
@binux 之前没仔细看,刚看了一下,确实 →_→
loading
2014-05-18 09:58:19 +08:00
flask说都封装好了,看文档就差不多
kingxsp
2014-05-18 11:25:05 +08:00
MarkupSafe 应该你想要的
ss098
2014-05-18 11:28:22 +08:00
@ericls
@ipconfiger
@davidli
@binux
@yakiang
@loading
@kingxsp

感谢各位,详细搜索了一下(文档讲的真不清楚),tornado.escape.xhtml_escape 函数可以进行 HTML 转义。
davepkxxx
2014-05-18 14:24:28 +08:00
davepkxxx
2014-05-18 14:25:32 +08:00
这是一个专门处理xss注入等安全问题的库,我在使用其Java版本的库,我发的连接是Python版本。
davepkxxx
2014-05-18 14:26:57 +08:00
这个库还有专门的wiki来帮你分析可能遇到的安全问题。
https://www.owasp.org/index.php/Main_Page
mckelvin
2014-05-18 16:27:12 +08:00
1. 渲染时用Mako一类的模板库可以避免大部分情况下的XSS, 图片URL这种地方还得显式防范下XSS。
2. 不要拼接SQL字符串,用现成的SQL封装库。
3. 更多漏洞超出了python语言范围
wizardoz
2014-05-19 11:23:56 +08:00
使用框架的数据库模型的话,一般不会存在注入的问题吧?
ChanneW
2014-05-19 18:48:27 +08:00
用框架,都有安全中间件的.
zjnjxufe
2014-07-16 17:04:56 +08:00
用sqlalchemy基本不会存在注入的问题。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/113051

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX