首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于HTTP:X-FORWARDED-FOR允许在htaccess中访问

基于HTTP:X-FORWARDED-FOR允许在htaccess中访问
EN

Stack Overflow用户
提问于 2012-12-18 19:16:43
回答 2查看 14.2K关注 0票数 4

您好,我应该只允许特定的ip地址(即HTTP:X-FORWARDED-FOR adresses)访问这些文件。我已经做到了以下几点

代码语言:javascript
复制
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP:X-FORWARDED-FOR} !^xxx.xxx.x.xx$
RewriteRule ^$ http://xxx.xxx.x.xx/access_denie.php [R=301,L]

现在,我必须允许它用于多个ip,例如yyy.yy.y.yy。如何使用htaccess执行此操作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-18 20:02:20

RewriteCond^xxx.xxx.x.xx$部分只是一个正则表达式。您可以轻松地使用组添加更多IP地址:

代码语言:javascript
复制
^(xxx\.xxx\.x\.xx|yyy\.yy\.y\.yy)$

您会注意到,我已经用反斜杠转义了所有的.-这是因为.在正则表达式中具有特殊含义,如果您希望它只与文字.字符匹配,则需要对其进行转义。

因此,您的新RewriteCond将如下所示:

代码语言:javascript
复制
RewriteCond %{HTTP:X-FORWARDED-FOR} !^(xxx\.xxx\.x\.xx|yyy\.yy\.y\.yy)$

您可以轻松添加更多IP地址,只需使用|字符分隔它们即可。

但是,请注意,这种方法不会给您带来任何真正的安全性。很容易伪造一个请求来通过这一点。如果您需要安全性,则应该使用SSL和适当的身份验证系统。

票数 12
EN

Stack Overflow用户

发布于 2020-07-25 01:07:19

代码语言:javascript
复制
RewriteCond %{HTTP:X-Forwarded-For}i 1\.1\.1\.1 [OR]
RewriteCond %{HTTP:X-Forwarded-For}i 2\.2\.2\.2 [OR]
RewriteCond %{HTTP:X-Forwarded-For}i 3\.3\.3\.3
RewriteRule ^(.*) - [F]

代码语言:javascript
复制
RewriteCond %{HTTP:X-Forwarded-For} (1\.1\.1\.1|2\.2\.2\.2|3\.3\.3\.3)
RewriteRule ^(.*) - [F]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13931765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档