基于IP范围的限制
我正在构建一个管理面板。我想阻止某些 IP 范围。我正在我的本地主机 wamp 服务器上测试这个,但 ir 似乎没有重定向我。
<?php
if($_SERVER['REMOTE_ADDR'] == '127.0.0..*')
header("Location: http://google.com");
else
echo "Hai";
?>
任何意见都会受到赞赏。
I am building an admin panel. and I want to block certain IP ranges. I'm testing this on my localhost wamp server but ir doesn't seem to redirect me.
<?php
if($_SERVER['REMOTE_ADDR'] == '127.0.0..*')
header("Location: http://google.com");
else
echo "Hai";
?>
Any input is appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用字符串比较就足够了
更新:取自 inits 答案的评论
然后只需对该块进行相同的字符串比较
如果您想同时针对两个块测试远程地址,您可能会将它们放在一个表达式中。这次我们需要一种不同的方法
substr()
部分获取 IP,直到最后一个.
。我们可以尝试在 IP 前缀集合(-> 数组)中找到该字符串。Is sufficient to use string comparison
Update: Taken from the comments of inits answer
Then just make the same string comparison against this block
If you want to test the remote address against both blocks at once, you will probably put them together into one expression. This time we need a different approach
The
substr()
-part takes the IP until the last.
. We can just try to find this string in a set (-> array) of IP-prefixes.这将是一个更好的方法,使用正则表达式:
编辑: 很好,将其提升到另一个级别,也许不是最有效的,但更容易配置:
This would be a better approach, using regualr expression:
EDIT: Fine, take it to another level, maybe not the most effective, but easier to configure:
以下是我针对仅允许某些固定 IP 和某些 IP 范围问题的解决方案:
Here is my solution to the problem of just allowing some fixed IPs and some IP ranges: