phpcms修改后台登录函数详细步骤
发布时间:2019-03-29 23:27:20作者:魏义齐阅读:()评论:
了解phpcms的都知道,若不修改后台登录函数,其它方法修改后台路径,后台地址依然是域名/index.php?m=admin&c=index&a=login,只有修改了后台登录函数,才能彻底修改后台地址。
先说说折腾过程:
刚开始参考的教程:https://www.cnblogs.com/suskart/p/3793429.html,这篇文章应该是从哪抄过来的,并不是实操编写,文中有多处错误,比如刚开始说某某路径下是可以没有文件的,这纯粹是扯淡;再比如3.2把替换代码写反了,在文章“phpcms表单向导使用教程”末尾我写道APP_PATH是网站的动态域名也就是v9的首页,既然是避免跳转到首页那此处就是写反了,而且也没强调修改函数;文末一句话说的糊里糊涂的,就算你往对里想也跟文章开头冲突。我最讨厌这种不负责任的文章,百度的内容生态就是被这样破坏的,这也是我为什么要在骆海滨的文章评论区辩论的原因。
然后我想到群友在群里分享的phpcms修订版把后台登录函数设定为在安装时可以自定义,我就把文件拉出来安装了,然后打开上面不负责任教程里说的几个文件对照着改,完美修改后台登录函数。
废话完了,重点开始:
第一步:新建一个文件夹,比如myadmin,里面放index.php,代码如下:
<?php header('location:../index.php?m=admin&a=myadmin');?>
第二步:打开/phpcms/modules/admin/index.php,第27行(本文行数均以notepad为准,为防行数差异我把修改前整行代码也贴出来)将
public function login()
修改为
public function myadmin()
第60行将
if(!$r) showmessage(L('user_not_exist'),'?m=admin&c=index&a=login');
修改为
if(!$r) showmessage(L('user_not_exist'),'?m=admin&c=index&a=myadmin');
第73行将
showmessage(L('password_error',array('times'=>$times)),'?m=admin&c=index&a=login',3000);
修改为
showmessage(L('password_error',array('times'=>$times)),'?m=admin&c=index&a=myadmin',3000);
第118行将
if(!$r) showmessage(L('user_not_exist'),'?m=admin&c=index&a=login');
修改为
if(!$r) showmessage(L('user_not_exist'),'?m=admin&c=index&a=myadmin');
第123行将
header("location:?m=admin&c=index&a=login&dosubmit=1&card=1");
修改为
header("location:?m=admin&c=index&a=myadmin&dosubmit=1&card=1");
第141行将
showmessage(L('logout_success').$phpsso_logout,'?m=admin&c=index&a=login');
修改为
showmessage(L('logout_success').$phpsso_logout,'?m=admin&c=index&a=myadmin');
这个文件总共要修改六处。
第三步:打开/phpcms/modules/admin/classes/admin.class.php,第35行将
if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('login', 'public_card'))) {
修改为
if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('myadmin', 'public_card'))) {
第166行将
if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('login', 'init', 'public_card'))) return true;
修改为
if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('myadmin', 'init', 'public_card'))) return true;
第217行将
showmessage(L('admin_login'),'?m=admin&c=index&a=login');
修改为
showmessage(L('admin_login'),'?m=admin&c=index&a=myadmin');
第四步:打开/phpcms/modules/admin/templates/login.tpl.php,第38行里将
<form action="index.php?m=admin&c=index&a=login&dosubmit=1" method="post" name="myform">
修改为
<form action="index.php?m=admin&c=index&a=myadmin&dosubmit=1" method="post" name="myform">
此时你的后台登录函数修改完毕,输入域名/myadmin会打开后台,显示后台地址是域名/index.php?m=admin&a=myadmin。
别忘了第五步:删除原来的admin.php,设置robots。
后台路径是要禁止抓取的,如果写成Disallow: /myadmin,在robots.txt可以访问的前提下,跟没修改后台登录函数一样,所以应该写成Disallow: /m*/表示禁止抓取所有以m开头的文件夹下的文件,如果根目录下还有别的以m开头的文件可以写成Disallow: /my*/,另外更安全起见myadmin这个文件夹建议大家采用英文和数字混合。
这是一篇不会任何代码的人都能看得懂的教程,如果还有问题右边进群讨论。
其实phpcms已经很安全了,指定域名访问后台,如果你怕解析当前网站域名的二级域名被人查出来访问后台,你可以解析另外一个域名的二级域名绑定后台,但你要处理好搜索引擎抓取问题,这是第一重安全;第二重安全验证码这就不说了,打开你后台了又能怎样,你把错误次数设置为三次,只要你密码设置的不那么傻瓜,我还没听说谁把phpcms后台登录密码破解了的,除非数据库被入侵。
我修改后台登录函数是因为我发现后台日志文件里老有外地ip,来源路径是后台路径,不管是谁这个行为挺烦的,我的目的就是防止这种苍蝇行为。
相关阅读
-
无相关信息
上一篇:phpcms有代码的文章再次编辑时在编辑器中显示错乱如何解决下一篇:深究phpcms缩略图模糊问题
原创不易,您的赞助就是博主更新的动力!

赞助请备注,8.88元及以上可在赞助光荣榜留下外链信息。
完全自托管的评论系统
-
东方星雨
-
deanhan
-
1264822519
-
aini3311
-
a1051020101
-
weiyiqi
- phpcms如何实现全站搜索功能(2023)
- phpcms标签大全(最新整理)(1011)
- phpcms如何将访问提示“您要查看的信息不存在或者还未通过审批!”的动态页面设置为伪404(953)
- phpcms如何支持https(945)
- phpcms如何修改后台登录界面(910)
- phpcms文章内容页的图片如何自适应(863)
- phpcms表单向导使用教程(849)
- phpcms列表页如何批量调用文章页内容(827)
- phpcms如何修改分页的样式(776)
- phpcms如何将文章编辑器的超链接目标窗口改为默认新窗口(761)
- phpcms最新懒人站长版(支持https、支持php7)(2019-10-19)
- phpcms修改后台登录函数详细步骤(2019-03-29)
- 深究phpcms缩略图模糊问题(2018-12-24)
- phpcms表单向导使用教程(2018-12-17)
- phpcms标签大全(最新整理)(2018-12-11)