是否建议禁用 curl 和 wget 以禁止任何人使用这些命令访问我的网站?
或者某些搜索引擎是否需要它才能访问我的网站?
您对 curl 和 wget 有什么建议?
答案1
取决于你想做什么,以及为什么 - 你可以根据用户代理实施禁令,这是最简单的方法,但它无法阻止坚定的“抓取工具”,但很少有人会这么做。
强制执行引荐来源检查也许也能实现您想要的效果。
谷歌当然不会使用 curl-ush 或 wget-ish 用户代理进行抓取,所以它不会影响这一点。
您使用的是什么 Web 服务器?您为什么要实现这一点?这些答案将帮助我们帮助您 :)
答案2
正如大家所注意到的,这样做几乎是不可能的,而且尝试也不会有任何收获。不要浪费你的时间。尝试限制访问方法只会伤害到你自己。
如果您的目标是分发内容,欢迎来到网络。如果不是,那么与之抗争就是一场必输的战斗。如果您有订阅内容,请考虑包括用户身份验证在内的适当方法。
编辑:由于提问者在此重申这是关于“安全问题”,我认为解释一下这些内容可能会有所帮助。
这些工具wget
只是curl
查看内容的工具。它们遵循与常规浏览器相同的协议,只是恰好为用户提供了不同的界面。事实上,人们使用数十种甚至数百种不同的工具来从网络上检索内容。作为服务器管理员,您的工作是管理服务器上发生的事情和那里的软件,而不是微观管理内容消费者的生活。
把自己想象成一位正在画画的艺术家。你的工作是画出正确的画作,而不是通过禁止任何戴眼镜的人观看你的画来限制观众。这根本说不通。
答案3
使用 curl 或 wget 不存在任何安全问题。我认为您被误导了。
网络浏览器(IE、Firefox、Chrome、Safari、Webkit 等)的全部用途是从 http 服务器下载并显示网页内容。curl 和 wget 的用途是从 http 服务器下载文件。这是主要区别;命令行工具不会以图形方式显示您的页面...)
正如其他人所说的那样,您可以通过用户代理进行阻止,但这是一场失败的战斗......它实际上并不能解决任何问题。
答案4
以防万一有人遇到这种情况,我曾见过有人在黑客中有效地使用 curl 来访问具有潜在弱点的数据(例如与 php 相关的漏洞),而上面的海报正确地指出 wget 和 curl 可以被视为正常函数,为什么要让别人更容易利用数据呢?网站抓取仍然是一个问题,但更糟糕的是,当这些功能可用于绕过设置或访问默认文件夹中的应用程序时(当然,东西无论如何都不应该放在默认文件夹中,但这并不能阻止大量傻瓜不仅这样做,而且还留下默认的用户名和密码。)您可以通过设置标志或通过 Apache 中的 .htaccess 文件来限制这些。说到点子上,像 libcurl 这样的东西本身就很容易被利用——我个人会首先确保你的系统已打补丁并且是最新的,同时确保目录和密码不是默认的,然后考虑限制某些代理的运行(如果适用)(但正如 gWaldo 和 DSpillett 都说过的,这些很容易被欺骗,而且有成千上万种其他方式可以访问数据)