thinkphp 5框架后台为了隐藏admin 我换了个方式就是价格key的方式登录,换个方式是admin/login/login无法打开了,但是却无法登陆进后台了,请大师看下是不是验证代码出错了
原来的代码如下:
<?php
namespace app\admin\controller;
class Login extends \think\Controller
{
public function login()
{
if (\think\Session::get("admin")) {
$this->redirect("admin/index/index");
} else {
if (\request()->isPost()) {
$name = input("name");
$pwd = input("pwd");
$is_rem = input("is_rem");
if ($is_rem != 1) {
$pwd = pswCrypt($pwd);
}
$captcha = input("captcha");
$rempsw = input("rempsw");
if (empty($name) || empty($pwd) || empty($pwd)) {
exit(json_encode(["status" => 0, "msg" => "用户名或密码,验证码不可为空"]));
}
$userInfo = \think\Db::name("admin")->where(["names" => $name])->find();
if (empty($userInfo)) {
exit(json_encode(["status" => 0, "msg" => "当前用户不存在或者用户名错误"]));
}
if ($pwd != $userInfo["password"]) {
exit(json_encode(["status" => 0, "msg" => "密码错误请从新输入"]));
}
if (!captcha_check($captcha)) {
exit(json_encode(["status" => 0, "msg" => "验证码错误"]));
}
if ($userInfo["status"] == 2) {
exit(json_encode(["status" => 0, "msg" => "当前用户已经被冻结,请联系管理员"]));
}
\think\Session::set("admin", $name);
if ($rempsw == 1) {
\cookie("cu", trim($name), 2592000);
\cookie("CSDFDSA", trim($pwd), 2592000);
} else {
\think\Cookie::delete("cu");
\think\Cookie::delete("CSDFDSA");
}
\think\Db::name("admin")->where(["id" => $userInfo["id"]])->update(["last_login" => date("Y-m-d H:i:s", time()), "last_ip" => request()->ip(), "num" => $userInfo["num"] + 1]);
exit(json_encode(["status" => 1, "msg" => "登录成功"]));
} else {
$name = \think\Cookie::get("cu");
$pwd = \think\Cookie::get("CSDFDSA");
if ($name && $pwd) {
$this->assign("name", $name);
$this->assign("pwd", $pwd);
}
return $this->fetch("login");
}
}
}
public function loginout()
{
\think\Session::delete("admin");
$this->redirect("admin/login/login");
}
}
原来的登陆路径是admin/login/login 我换了方式是:admin/login/login?key=1234
这样登陆界面是没有问题的,但是我加了个key路径后,是可以打开登陆界面了,但是输入正确和错误账号密码都没有了验证提示也无法登陆,请大师看下是不是加了以后要修改什么!下面是加了key路径后的代码:
php
$key = input('key');
if($key != '1234'){ //这就是路径加了个key=1234
return redirect('/home');
} else {
session("_LOGIN_BY_CMF_ADMIN_PW_",1);
}