Php 防止WGET和其他网站自动下载

Php 防止WGET和其他网站自动下载,php,html,Php,Html,我有一个PHP网站。 最近几周,我的网站从一个地方自动点击了很多次。 这表明有人正在以自动方式“偷猎”内容,而不是通过适当的浏览器访问网站。我想这是由WGET(或CURL等)之类的工具/实用程序完成的 有没有办法阻止这种自动访问 为了进行调查,我尝试在雅虎、美国新闻和彭博社等热门网站上使用WGET,WGET实用程序成功地从雅虎和美国新闻下载了页面(HTML代码)。然而,在彭博社网页样本上的类似尝试失败了 我使用的命令: wget64.exe https://www.bloomberg.com/r

我有一个PHP网站。 最近几周,我的网站从一个地方自动点击了很多次。 这表明有人正在以自动方式“偷猎”内容,而不是通过适当的浏览器访问网站。我想这是由WGET(或CURL等)之类的工具/实用程序完成的

有没有办法阻止这种自动访问

为了进行调查,我尝试在雅虎、美国新闻和彭博社等热门网站上使用WGET,WGET实用程序成功地从雅虎和美国新闻下载了页面(HTML代码)。然而,在彭博社网页样本上的类似尝试失败了

我使用的命令:

wget64.exe https://www.bloomberg.com/research//stocks/snapshot/snapshot_article.asp?ticker=CWEN
保存的结果文件具有以下内容:

<h2 class="main__heading">We've detected unusual activity from your computer network</h2>

    <p class="continue">To continue, please click the box below to let us know you're not a robot.</p>
    <div id="px-captcha"></div>
</section>
<section class="box">
    <section class="info">
        <h3 class="info__heading">Why did this happen?</h3>
        <p class="info__text">Please make sure your browser supports JavaScript and cookies and that you are not blocking them from loading. For more information you can review our <a class="info__link" href="/notices/tos">Terms of Service</a> and <a class="info__link" href="/notices/tos">Cookie Policy</a>
我们从您的计算机网络中检测到异常活动

要继续,请单击下面的框让我们知道您不是机器人

为什么会这样? 请确保您的浏览器支持JavaScript和cookie,并且您没有阻止它们加载。有关更多信息,您可以查看我们的和
这表明至少彭博社有办法阻止这种自动访问。 有人知道网站管理员可以实施什么来防止这种自动访问(就像彭博社已经实施的那样)


虽然我同意互联网上的访问应该是免费的,但有时需要实施一些边界来防止未经授权的访问。

Wget可以使用.htaccess文件中的以下内容轻松捕获

RewriteCond %{HTTP_USER_AGENT} wget.* [NC]
RewriteRule .* - [F,L]
但是,如果用户代理字符串被更改,那么您可能永远不会知道它是Wget

你也可以看看如何阻止机器人


感谢@AndreiLupuleasa的投入。使用htaccess是很棘手的,我对htaccess不是很熟悉,所以如果你能详细说明上面提到的代码的实际作用,这会有所帮助。你可以看看本教程,它们解释了一切。可能的