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