ada*_*ven 15 .htaccess user-agent
我有一个我正在开发的网站,它也将被纳入网络应用程序.我的.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
Run Code Online (Sandbox Code Playgroud)
问题:我想添加一条Allow from规则,该规则也允许特定的HTTP用户代理访问该站点.
如果不是用户代理,我发现此代码重定向:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !=myuseragent
RewriteRule ^files/.*$ / [R=302,L]
Run Code Online (Sandbox Code Playgroud)
但我似乎无法弄清楚如何将其变成Allow from规则.救命?
UPDATE
我发现下面的代码阻止了特定的用户代理......我想说"如果不是myuseragent,那就阻止".
<IfModule mod_rewrite.c>
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
</ifModule>
Run Code Online (Sandbox Code Playgroud)
Edw*_*its 18
SetEnvIfNoCase User-Agent .*google.* search_robot
SetEnvIfNoCase User-Agent .*yahoo.* search_robot
SetEnvIfNoCase User-Agent .*bot.* search_robot
SetEnvIfNoCase User-Agent .*ask.* search_robot
Order Deny,Allow
Deny from All
Allow from env=search_robot
Run Code Online (Sandbox Code Playgroud)
Htaccess SetEnvIf和SetEnvIfNoCase示例
小智 7
我只想允许一个SPECIFIC用户代理而不是试图阻止所有
这是我的配置只允许wget:
SetEnvIf User-Agent .*Wget* wget
Order deny,allow
Deny from all
Allow from env=wget
Run Code Online (Sandbox Code Playgroud)
Allow from并且Rewrite*是来自两个不同Apache模块的指令.
第一个是mod_authz_host和另一个mod_rewrite.
你可以mod_rewrite用来做你想做的事:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !=myuseragent
RewriteRule .* - [F,L]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33974 次 |
| 最近记录: |