python - Python/django 中的 URL 获取 : prevent abuse, mailcious urls 等

标签 python django security urlfetch

我正在构建一个网页,其特色非常类似于 facebook 墙/新闻源。注册用户(或通过 Facebook-connect、google auth)可以提交 url。目前,我正在获取这些 URL 并使用 urllib2 来获取 URL 的内容并搜索相关信息,例如 og:properties、HTML title-tag 和 perheps some -tags for images。

现在,我明白当我让用户向我的服务器提供要打开的 URL 时,我会让我的服务器面临风险。

我的问题是风险有多高?我可以进行哪些标准安全检查?

至于现在,我只是在没有任何“主动”保护的情况下打开 url,因为我不知道要检查什么。

以及如何将获取的内容存储到数据库中。 Django 是否内置了针对 SQL 注入(inject)的保护?

谢谢!

最佳答案

其中一个明显的风险是有人可能会将您的网站用作传播恶意 URL 的载体。

例如假设我发现了一个格式错误的 html,它允许在基于 webkit 的浏览器中执行任意代码,比如利用某个 0-day 缓冲区溢出。假设您的网站很受欢迎,那将是我肯定会尝试的网站之一。

现在,您不可能匹配提交的 URL 的内容来查找安全漏洞。那时您将成为一家反病毒/安全公司。 Chrome 和 Safari 都在一定程度上解决了这些问题。

为了用户/内容的缘故以及我解释的风险,您可以构建一个通过用户操作学习的标记系统。您可以在有人标记 URL 时训练分类器,请参阅 examples在这里。

我敢肯定有很多这样的解决方案,在 python 中也是如此。

要快速了解安全性,Django 上下文中的 sql 注入(inject),checkout this link .

关于python - Python/django 中的 URL 获取 : prevent abuse, mailcious urls 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12815448/

相关文章:

security - 大多数开放平台上的app-id和app-key有什么区别?

python - Django 中的嵌套外键序列化器不起作用

django - 在SVN Trunk中完全禁用Django的CSRF保护

python - 加速 pd.concat 的方法或使用其他方法连接表

python - Django View 在模型更改后不更新

python - 包含 # 的 Django URL 模式

http - 如何在 Web 应用程序中支持用户提供的 SSL 证书

javascript - 防止通过 file_get_contents 执行 javascript

python - 类别数据框的类别系列

python - 为什么在 spider.py 中需要 spider 对象来进行 scrapy?