gpt4 book ai didi

redirect - 使用 mod_rewrite 只允许某些 IP 地址访问站点?

转载 作者:行者123 更新时间:2023-12-02 19:21:23 25 4
gpt4 key购买 nike

我们的网站上有一个目录,我们只想通过几个 IP 地址访问该目录。所以我们有这个 .htaccess 文件来尝试让它工作:

RewriteEngine on
RewriteCond %(REMOTE_ADDR) !^123\.123\.123\.123
RewriteCond %(REMOTE_ADDR) !^124\.124\.124\.124
RewriteCond %{REMOTE_ADDR} !^125\.125\.125\.125
RewriteCond %{REMOTE_ADDR} !^126\.126\.126\.126
RewriteCond %{REMOTE_ADDR} !^127\.127\.127\.127
RewriteCond %{REMOTE_ADDR} !^128\.128\.128\.128

RewriteCond %{HTTP_REFERER} !^http://www\.example\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://example\.com/ [NC]

RewriteRule ^.*$ http://www.example.com [R=301,L]

我们希望它做的是,如果请求不是来 self 们的 IP 地址之一(显然只是为了示例而在上面的代码中更改了它们),或者引荐来源网址不是来自特定站点,则重定向他们在别处。

由于某种奇怪的原因,它适用于 126.126.126.126 位置的 IP,但不适用于其他 IP。真的不明白为什么它会根据IP而有所不同。可能出了什么问题?

我知道这会带来安全问题,因为引荐来源网址可能会被欺骗,但我们很快就会提出更好的解决方案,这只是一个临时措施。

最佳答案

忘记发布这个问题的答案。最后只是一个错字..DOH!

如果您注意到,有些 %{REMOTE_ADDR} 行有大括号,有些则有普通括号!他们都需要卷发。

RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteCond %{REMOTE_ADDR} !^124\.124\.124\.124
RewriteCond %{REMOTE_ADDR} !^125\.125\.125\.125
RewriteCond %{REMOTE_ADDR} !^126\.126\.126\.126
RewriteCond %{REMOTE_ADDR} !^127\.127\.127\.127
RewriteCond %{REMOTE_ADDR} !^128\.128\.128\.128

RewriteCond %{HTTP_REFERER} !^http://www\.example\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://example\.com/ [NC]

RewriteRule ^.*$ http://www.example.com [R=301,L]

关于redirect - 使用 mod_rewrite 只允许某些 IP 地址访问站点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18145978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com