任意PHP网站登录后台增加IP验证

天才小帅 2020-02-28 10:58:17 849℃ 2条

对于站长来说,网站后台地址和密码如果是默认的,或者比较简单,这样的风险是很大的,所以站长们都是想尽各种办法隐藏,后台密码也是尽量复杂,这样带来的一个坏处就是每次登录都很麻烦。

增加IP验证会让后台相对安全一些,相当于云服务器或云数据库的白名单,只允许特定IP登录。

而现在流行的建站程序都没有这一功能,现在教大家如何使用。

核心代码:

$ip = $_SERVER['REMOTE_ADDR'];
if($ip != '指定IP'){
    exit;
}

食用方法:

1.打开百度,搜索ip,查看当前的外网IP。

2.打开网站后台登录文件(一般是login.php),在“<?php”后面敲回车,添加上面的代码,把“指定IP”替换成外网IP,保存并上传到服务器。

这样就可以了,当访问login.php时会先进行IP验证,如果访问者IP不是自己设定的IP,会强行退出。

方法扩展:

如果后台的PHP文件可以直接访问,给每个文件都添加上面的代码就比较麻烦了,一旦IP变动,所有文件都要改。这时可以用下面的方法。

核心代码:

<?php
    $ip=$_SERVER['REMOTE_ADDR'];
    if($ip!='指定IP'){
        exit;
    }
?>

1.复制上面的代码,保存成一个php文件,名称随意,例如:ipcheck.php。

2.获取当前外网IP,替换到“指定IP”,保存。

3.把ipcheck.php上传到login.php的同级目录。把所有要修改的后台文件先备份下,然后统一在每个文件的“<?php”的后面敲回车,然后添加以下代码:

require_once('ipcheck.php');

这样就完成了。如果外网IP变动,只修改ipcheck.php里的IP就可以。

还有一种方法,如果后台文件都引用同一个文件,比如config.php,可以在这个文件里添加代码,这样每次只需要修改config.php而不用另行上传了。

当然这个方法也是有缺点的:IP变动和修改文件。

企业可以申请独立外网IP,一些大型公司会有固定的IP地址,一般的公司或个人就是用的普通的ADSL拨号,这个外网IP都是动态的,隔一天或一段时间就会变。如果IP发生变化,就必须要修改刚才的验证文件了。

登录后台还要用FTP修改文件,看着像是比之前更麻烦了,但这样带来的好处也是显而易见的:

即使用默认的后台地址和登录密码,别人也没法登录后台。相对于这个好处,增加修改文件这个步骤也就可以接受了。

尤其是对于一些小公司的网站,可能长年不登录,不发布信息,添加了后台验证,也可以抵御一部分攻击。

另:

require_once默认不能引用父级目录的文件,如果想引用父级还需要修改配置文件,这个可以根据需要自行搜索。

如果把验证文件里的IP改成内网IP,比如10.0.0.1或者192.168.1.1,这样就会拒绝所有访问。

扩展阅读:

获取当前访问IP:

$_SERVER['REMOTE_ADDR']

或者:

getenv ("REMOTE_ADDR")

这两个的效果是一样的,惟一的区别是getenv不支持IIS的isapi方式运行的PHP,而现在用IIS的已经很少了,这一点影响也不大。需要注意的是,在本地运行时是得不到正确的IP的,会显示::1或者0.0.0.0,在服务器上运行是正常的。

标签: none

「感觉有帮助?解决了大问题?一键投喂 牛奶/咖啡/冰阔乐!」

天才小帅

(๑>ڡ<)☆哇~太棒了!

使用微信扫描二维码完成支付

非特殊说明,本博所有文章均为博主原创,并遵循CC BY-NC-SA 4.0 协议许可。

评论啦~



已有 2 条评论


  1. crll
    crll

    这样设置不大好吧,万一ip改变就登录不了啦,还是改后台地址比较好吧。。

    回复 2020-03-26 23:33:10
    1. 天才小帅
      天才小帅 博主

      后半段说明缺点了

      回复 2020-03-29 09:13:20