【发布时间】:2018-10-21 15:18:35
【问题描述】:
最近我在使用数据挖掘机器人时遇到了一些问题,它每天在一天中的特定时间从我的网站中提取数据。这不仅会浪费我的带宽,还会给我的谷歌分析提供错误的数据。
他们通常使用 amazonaws IP 进入,但最近他们已切换到其他主机。
保持不变的是它们使用相同的用户代理。有没有办法阻止使用用户代理?这是因为我尝试过但失败了。希望我能从中得到启发。
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu HeadlessChrome HeadlessChrome Safari/537.36
RewriteRule .* - [R=503,L]
更新: 这是我更新的 .htaacess 仅供将来参考,如果它有助于社区了解它的外观。谢谢白先生
<LocationMatch .*>
<IfModule mod_security2.c>
SecRuleRemoveById 211170
SecRuleRemoveById 211180
</IfModule>
</LocationMatch>
Options +FollowSymlinks
Options -Indexes
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
Require all denied
</FilesMatch>
# SEO URL Settings
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu HeadlessChrome HeadlessChrome Safari/537.36"
RewriteRule .* - [F]
RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
<Files 403.shtml>
order allow,deny
allow from all
</Files>
【问题讨论】:
-
我怀疑如果你只是在
" ... "标记中添加用户代理字符串,它可能会起作用 - 你可能希望 Rewrite 也是403(禁止)。 -
嗨@Jeof 我只是想知道,你怎么知道这是一个数据挖掘机器人?您是否仅依赖您的带宽使用数据?或者你有没有尝试过别的东西?因为我可能有同样的问题。
-
@MAZux 我有一个网络聊天小部件。一天中的每个特定小时,我都会有至少 5-6 名来自同一主机/国家/地区的访客每分钟浏览我在电子商务中拥有的所有产品。每天都会发生。毫无疑问,它是一个数据挖掘机器人
-
关于您更新的
.htaccess文件...<LocationMatch>指令不允许在.htaccess上下文中使用?您会认为这会在 Apache 上触发 500 Internal Server Error 吗?
标签: php apache .htaccess mod-rewrite user-agent