趣文网 > 作文大全

Thinkphp5开启强制路由代码示例详解(防远程攻击必备)

2020-12-30 18:45:01
相关推荐

近期thinkphp5在2018年12月9日及2019年1月11日接连爆出的两个高危漏洞,再有很多人反映更新补丁或者升级以后还有被入侵的事情,分两个步骤处理:一:把受影响的网站程序文件最好直接用备份替换,对方很可能留了多个后门文件,如果后门文件没删除干净,还是会被持续更改首页跳转的,升级也没用;二,开启强制路由模式;

以上的说明,切记一定要保证木马文件查杀赶紧,再做处理,备份直接替换是最好的办法,当然如果你没有备份的习惯就只能自己手动查杀,或者请安全公司处理了;

但是个人在开启强制路由模式的时候,碰到两个问题,下面就说下这个两个问题,

问题1:点击网站链接直接进去会打不开,错误提示,路由未定义

问题2:比如后台的页面或者登陆页面,登陆页面可以正常展示,点击登陆的时候,由于需要post提交表单的操作,错误提示,路由未定义;

强制路由设置:

文件:application->config.php;

配置:常规配置路由规则,请自行参照官方手册,开启强制路由以后,所有的方法都需要配置,否则不能正常访问;这里不赘述;https://www.kancloud.cn/manual/thinkphp5/118019

实例解决方案:

提示:做修改之前一定要备份原有代码,因为每个人的开发环境,开发方式都可能有所不同,若有不可预见错误,可及时恢复;

A:问题1解决方案:

文件:application->route.php;

亲测本人开发环境及网站可用,此问题即可解决;

B:问题2解决方案:

前台及后台纯展示页面在开启强制路由以后展示没问题的,但是需要form表单提交数据的操作都会报错;

理论原因:常规的路由页面方法都是get,比如上图首页的路由,但是提交表单的时候一般我用的都是post方法,所以需要在控制器里面拆分展示和提交表单的方法,前端页面提交方法地址也需要修改,路由里面也需要分开设置即可;下面我将会以一个实例分别说明登录页面及登录操作

登录操作:

第一步:拆分控制器方法;

原始的代码如下:

拆分成两个方法如下:

第二步:路由文件设置:

文件:application->route.php;

二者区别在于方法,登录页面的路由方法是get,操作的话就是post;

第三步:login登录页面form表单的提交的action也需要修改:

☆☆☆小提示,控制器写方法的时候,成功跳转的链接请务必写完整

模块/控制器/方法;其他所有的方法请务必按这种思想修改完成;

文章预告:下个文章将会写一写https的设置须知以及可能有的一些小坑;

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

窗外作文高中 高考语文作文题目是什么 君子兰作文三年级 白玉兰花作文 长城作文200字 怎么交朋友英语作文 敢于担当作文 风景这边独好作文指导 关于爱的作文五百字 渡口作文 美好的回忆作文450 我的自传作文400 动物作文400字左右 体罚打屁股作文 校园的冬天作文800字 我的兴趣日语作文 我喜欢的歌作文400字 写人的作文400字爸爸 观音莲的作文 以感动为题写作文 小猫和老鼠作文 我的优点作文600字 童年作文300字左右 牵挂作文200字 高中作文素材书 作文立意是什么意思 我的姐姐三年级作文 作文我这个人400字 我对书的感受作文 剪纸课作文