分页: 1 / 1

关于phpbb登录验证问题,IP限制

发表于 : 2019年1月8日 22:40
baoang
借本贴提问一个相关问题。

对于楼主的问题我是这样的思路,我在用Apache时,就在配置中规定进管理员后台系统/adm/时只能经由固定的IP地址,通过这样的方法来提升安全性。

但是在Nginx服务器下,我采用同样的思路却失败了。

在Nginx的服务器配置/模块介绍中,有这样的一个模块,叫ngx_http_access_module,它的用法官方举例如下:

代码: 全选

location / {
    deny  192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2001:0db8::/32;
    deny  all;
}
于是我就这样写配置文件:

代码: 全选

location /adm/index.php\?(.*) {
    #假设允许IP为1.2.3.4可登录管理员后台
    allow  1.2.3.4;
    deny   all;
}
我配置完成之后,重新启动Nginx,却发现失败了,无论从什么IP地址访问管理员后台,均能够进入,而不是如事前想的那样,仅从1.2.3.4才可进入。

不知站长是否也用Nginx,这个配置按说不会有错,可否指点一下?

Re: 关于phpbb登录验证问题

发表于 : 2019年1月9日 17:30
davidyin
没看出问题。
要不你贴一下 nginx -V 看看模块有没有。

直接用目录呢?

代码: 全选

location /adm/  {
    #假设允许IP为1.2.3.4可登录管理员后台
    allow  1.2.3.4;
    deny   all;
}

Re: 关于phpbb登录验证问题

发表于 : 2019年1月9日 21:15
baoang
davidyin 写了: 2019年1月9日 17:30 没看出问题。
要不你贴一下 nginx -V 看看模块有没有。

直接用目录呢?

代码: 全选

location /adm/  {
    #假设允许IP为1.2.3.4可登录管理员后台
    allow  1.2.3.4;
    deny   all;
}
多谢站长及时回复。
之前通过查询Nginx官方的说法(即它的安装配置说明),这个http_access_module是默认编译安装进去的,除非编译参数中选择了不加入。
--without-http_access_module
disables building the ngx_http_access_module module that allows limiting access to certain client addresses.
直接用目录的话,假设如此

代码: 全选

location /adm/ 
,访问时也访问,假如 https://phpbbchinese.com/adm,则的确无法访问,但以管理员身份登录进去后,再访问后台管理面板,则发现居然又进去了,因此才想是否要在/adm/之后多增加一串字符。因为如果管理员账号被窃,进入后台往往不会直接访问 https://phpbbchinese.com/adm/ 这个地址。

这个挺奇怪,我发现如果用Apache 则没这个问题,一堵就堵死了,管理员也登录不了。