头条一本正经

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

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

增加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,在服务器上运行是正常的。

非特殊说明,本博所有文章均为博主原创,并遵循 CC-BY-NC-SA 4.0 协议许可。
转载前请务必署名,本文链接:https://www.geniusxiaoshuai.com/exp/85.html
-- 展开阅读全文 --
阻止iTools连接iPhone时自动下载应用兔
« 上一篇 02-27
搜狗五笔旧版皮肤
下一篇 » 05-01

发表评论

已有 2 条评论

  1. crll 说道:

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

    1. 天才小帅V 说道:

      @crll

      后半段说明缺点了

作者信息

热门文章

标签TAG

热评文章