QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

微信扫一扫 分享朋友圈

已有 5132 人浏览分享

开启左侧

网站运维安全:用nginx限制非指定IP访问网站管理后台的方法

[复制链接]
5132 0
image.jpg
  今天和Discuz的官方工作人员在群里面聊,我向维护人员 @老周部落 提了一个建议,是这样说的:
@老周部落 老周,有个建议。就是全局-访问控制,允许访问管理中心的IP列表,看这个列表能不能不写进数据库,而写在config文件里面?因为本地IP变化之后,自己登录不了后台,而改数据库操作起来又比较麻烦..
  然后另外一个维护人员@popcorner 就回复我,说:那不就没法在后台修改了么?
  我表示,也可以在后台修改呀,只是不写数据库,改成写文件了。
  popcorner继续表示:不可能为了一个这个开编辑config的先例。
  然后我又仔细描述了一下相关场景:
嗯。现在的应用场景是:后台设好限制IP,黑客登录不了,非常耐思。但某一天本地电信IP改变了,管理员自己也登录不了后台,无法更改限制IP,只得登录数据库进行操作,时间长不说,还有可能数据库误操作,网站直接崩溃。
我设想的场景是,后台设好限制IP,黑客登录不了,非常耐思。但某一天本地电信IP改变了,管理员自己也登录不了后台,无法更改限制IP,登录一下服务器,找到文件更新一下允许登录的IP列表,就OK了,很便捷,不操作数据库,风险也低。
  popcorner说,2个方案,第1个应该已经有了,就是在tools里一键清除ip限制;再1个就是可以考虑添加1个强制禁用ip过滤的配置项,先保证能进后台,然后就可以自己改掉错误的设置了。
  我说,第2个方法很耐斯。
  这时候,popcorner又说:想改文件的话,其实更好的办法是在服务器端操作,对admin.php路径设置ip过滤即可,这样做可以让黑客连页面都碰不到,最安全。
  他的这个想法启发了我。我以前一直想从应用程序方面防备入侵,如果从服务端方面下手,可能真的会简单很多。于是,我就网上搜索了一下相关的解决方案,果然,一百度发现有现成的nginx配置代码,稍微修改一下就可以直接应用到自己服务器上,测试一下效果相当好。代码如下:
  1. #限制后台访问IP开始        
  2.         location ~ .*admin.* {
  3.         allow 118.118.0.0/16;  #你的IP,可以是具体IP,也可以是IP区间
  4.         deny all;
  5.         location ~ \.php$ {
  6.                         root           /website/www;  #网站所在的目录
  7.                         try_files      $uri =404;
  8.                         fastcgi_pass   127.0.0.1:9000;
  9.                         fastcgi_index  index.php;
  10.                         fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
  11.                         include        fastcgi_params;
  12.         }
  13.     }
  14. #限制后台访问IP结束
复制代码
  注意,上面的代码要放在
  1. location ~ \.php$ {...
复制代码
  这一行之前。
  特地记录下本次交流内容,分享给需要的朋友们。

上一篇:玩慈利网精心修订的物业管理服务合同模板(免费下载)
下一篇:nginx日志报failed 13: Permission denied错误,原来是帐户权限问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

36

关注

177

粉丝

13653

主题
精彩推荐
热门资讯
网友晒图
  • 公众号

    微信公众号

  • 微信

    站长微信

Powered by Discuz! 在此致以诚挚谢意!

CopyRight © 2011-2024 wancili.com