我有一个网站,我正在开发,也将被拉到一个Web应用程序。我有以下代码在我的.htaccess
文件,以防止任何人访问,这是不是我允许的IP:
Order deny,allow
Deny from all
AuthName "Restricted Area - Authorization Required"
AuthUserFile /home/content/html/.htpasswd
AuthType Basic
Require valid-user
Allow from 12.34.567.89
Satisfy Any
- 问题:我想添加一个
Allow from
规则,该规则也允许特定HTTP用户代理访问站点。**
- 问题:我想添加一个
我发现这个代码重定向,如果不是用户代理:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !=myuseragent
RewriteRule ^files/.*$ / [R=302,L]
但我似乎不知道如何将其转换为Allow from
规则。
- 更新**
我发现下面的代码可以阻止特定的用户代理...我想说的是"如果不是myuseragent
,那么就阻止"
<IfModule mod_rewrite.c>
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
</ifModule>
6条答案
按热度按时间s71maibg1#
Htaccess SetEnvIf and SetEnvIfNoCase Examples
hsvhsicv2#
我只想允许一个特定的用户代理,而不是试图阻止所有
下面是我的配置只允许wget:
gkn4icbw3#
Allow from
和Rewrite*
是来自两个不同Apache模块的指令。第一个是
mod_authz_host
,另一个来自mod_rewrite
。您可以使用
mod_rewrite
来执行您想要的操作:qacovj5a4#
如果你不想使用mode_rewrite,你可以在Apache 2.4中使用类似于下面的命令:
bejyjqdl5#
我使用了类似sys0dm1n的答案的版本。
这是我的.htaccess文件。它允许Google Sheets访问我服务器上的一个目录。
转到apache文件夹中的access.log文件,查看需要允许或阻止哪个用户代理。
shstlldc6#
我只想允许一个特定的用户代理,而不是试图阻止所有
你好
这里你需要考虑的是一些机器人(特别是"大"的更突出的机器人)会使用几个用户代理来访问你的网站。例如,一个Googlebot(爬虫)可以使用所有这些不同的用户代理:
我不是在谈论Google Plus和Google使用的许多其他机器人。
雅虎和其他公司也是如此。
就在本周,我们公司(Incapsula)推出了Botopedia.org - a Community-Sourced bot directory。它是100%免费的,对所有人开放,你可以用它来找到你想要允许的所有机器人的完整用户代理列表。
如果需要,它还具有反向IP功能,用于机器人验证,因为正如我们的recent study of Fake Googlebot visits所示,一些垃圾邮件发送者甚至网络攻击者将使用合法的机器人签名来轻松进入您的网站。
希望这个有用。