<?php
namespace AdminController;
use ThinkController;
class IndexController extends Controller {
public function index(){
$this->display();
}
public function login(){
$username = I('username');
$password = I('password');
$user = D('User');
$res = $user->where(array('username'=>$username))->find();
// dump($res);die;
if(!$res || md5($password) != $res['password']){
$this->error('用户名或密码错误');
}else{
session('username',$res['username']);
session('id',$res['id']);
session('create_time',$res['create_time']);
//dump(session());die;
$this->redirect('/Admin/Main/index'); //跳转到后台管理
}
}
//清空
public function loginout(){
session(null);
//dump(session());
$this->redirect('/Admin/Index/index');
}
}
<?php //后台页面的控制器
namespace AdminController;
use ThinkController;
class MainController extends Controller {
public function index(){
$this->display();
}
}
应该怎么判断,在地址栏敲地址不能随意进入登陆页或后台系统
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
在Index控制器的__initialize方法中,判断你的session有没有被赋值。没有跳转到登录。
具体参考
TP框架__initialize方法
看你的意思应该是不想让别人进入后台 也就是登陆页都不让进吧?如果是可以试试配置可以访问的模块 如果想判断这个人登陆没登陆 那就是判断session了
给你点资料 你试试 如果可以你就部署到服务器的设置下 本地就不要设置了
禁止访问模块
登录页都不让进,后台系统怎么登录呢
-------------------2016-08-19 更---------------------------
我是这么做的,但是安全性肯定不高
其实是判断有无验证的问题.
TP可以写一个基类(
BaseController), 然后所有需要验证的控制器, 都应该继承这个基类.例如, 后台有一个管理员控制器
这是TP的做法, 但是像symfony这样的框架, 自带了验证类, 可以很方便地进行http验证, accesstoken验证和自定义验证方式.
登录页不让进是不可能的,否则你的业务人员都登不上去。如果你的前后台是同一套用户系统,那就验证前台登录用户是否有进入后台的权限,没登录就正常显示登录页就好了,只要别让搜索引擎把你的后台登录地址抓过去就行
写个公共函数判断是否是登录状态
然后在后台控制器的__initialize方法里写