.htaccess 拒绝指定的UserAgent以外的其他用户

mxg2im7a  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(123)

帮助我弄清楚如何将apache配置为我需要的设置?

domain.zone.conf(在此处写入什么内容?)

<VirtualHost *:80>
    ServerName sub.domain.zone
    DocumentRoot /var/www/sub.domain.zone
    ServerAlias sub.domain.zone
    ErrorLog /var/www/sub.domain.zone/error.log
    CustomLog /var/www/sub.domain.zone/requests.log combined
</VirtualHost>

您需要使用指定的UserAgent来访问站点的子域。
试着这样做:

.htaccess文件系统

# Encoding
AddDefaultCharset utf-8
# IndexPage
DirectoryIndex index.php
# CloseDirectories
Options All -Indexes
# Control UserAgent
<If "%{HTTP_USER_AGENT} != 'MYUSERAGENT'">
    Require all denied
</If>

什么都不起作用,我仍然可以从任何代理登录。
告诉我如何关闭对除所需代理之外的所有人的访问权限?

iugsix8n

iugsix8n1#

只需使用重写模块即可:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !^MYUSERAGENT$
RewriteRule ^ - [R=403,L]

这将拒绝任何没有指定确切的用户代理头“MYUSERAGENT”的请求,并返回http状态403(“Forbidden”)。
如果只想匹配用户代理头的一部分,那么只需稍微改变条件:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !MYUSERAGENT
RewriteRule ^ - [R=403,L]

相关问题