题
我正在修改一个网络工具,给定一个 URL,该工具将检索文本并向用户提供一些有关内容的统计信息。
我担心为用户提供一种从我的盒子向网络上的任意 URL 发起 GET 请求的方法可能会成为攻击的媒介(例如到 http://undefended.box/broken-sw/admin?do_something_bad
).
有没有办法尽量减少这种风险?提供公共 URL 检索能力时有哪些最佳实践?
我想过的一些想法:
- 荣誉
robots.txt
- 仅接受或拒绝某些 URL 模式
- 检查适当站点的黑名单/白名单(如果存在这样的事情)
- 通过知名的第三方公共网络代理工作,假设他们已经内置了这些保护措施
感谢您的帮助。
编辑:它将仅评估 HTML 或文本内容,而不下载或评估链接的脚本、图像等。如果是 HTML,我将使用 HTML 解析器。
解决方案
统计结果会是 仅有的 关于文档中的文本?您打算使用 HTML 解析器来评估它吗?
如果您只是要分析文本,即无需下载更多链接、评估脚本等。那么风险就不那么严重了。
通过防病毒程序传递您下载的每个文件可能不会有什么坏处。您还应该将 GET 限制为某些内容类型(即不要下载二进制文件;确保它是某种文本编码)。
不隶属于 StackOverflow