weicheng 发表于 2022-1-27 23:00

如何根据ip决定访问网站的权限

如何根据ip决定访问网站的权限 10


我想在我的网站里写一段代码。 凡是有这段代码的页面 都会限制访问ip。
具体需求如下:
我需要部分页面只能是我内部的c类ip可以浏览,比如192.168.1.* (只要符合这个c类ip都可以浏览这页)
其他的ip就不能浏览。请问具体代码如何实现

x6h0st 发表于 2022-1-27 23:22

挺难的吧,一般web来获取ip 据我所知 都是通过xff头来获取IP,但是xff头是可以伪造的,所以不安全

琴似蓝调 发表于 2022-1-27 23:30

nginx有这功能

Creeper2077 发表于 2022-1-27 23:33

可以尝试在web服务器进行限制,以下为Nginx的大致代码:

location ~* /privacy/ { #限制/privicy目录
    if ($remote_addr !~ 192\.168\.1\.){ #正则匹配不符合条件的IP
      return 403; #返回403
    }
}

laoda1228 发表于 2022-1-28 05:16

666666666 要能实现区分IP访问 我也想了解一下。

scodec 发表于 2022-1-28 07:09

在后端语言(如php)代码中,先获取用户ip,
再判断一下,
然后不一样就die(php)
就好了呀

楼主要的难点是?

冒个泡 发表于 2022-1-28 08:09

这事让你们WEB开发来搞有点难度吧,如果只是内网访问的话,可以问问你们网工,在交换机上加ACL来控制。

restartxie 发表于 2022-1-28 09:08

楼主,我觉得你的方向调整下比较合适,这个功能应该由防火墙来实现,当然代码也可以实现。可以再防火墙里添加访问规则。只允许这个段访问80端口就可以了。

18382747915 发表于 2022-1-28 09:19

后台获取IP地址,然后做权限控制就行了,没那么麻烦

culanc 发表于 2022-1-28 09:59

restartxie 发表于 2022-1-28 09:08
楼主,我觉得你的方向调整下比较合适,这个功能应该由防火墙来实现,当然代码也可以实现。可以再防火墙里添 ...

我感觉楼主的意思应该是大家都可以访问网站,但是只有内网C类网段才能访问具有特殊权限的网页,不妨做一个用户组,分开权限更好,也可能是不想把特定的网页暴露出来吧。
页: [1] 2
查看完整版本: 如何根据ip决定访问网站的权限