导航:首页 > 净水问答 > thinkphp登录过滤器

thinkphp登录过滤器

发布时间:2021-12-24 19:44:48

㈠ thinkphp 登陆页面的欢迎某某某怎么实现

登录的时候,不是要$this->display();么?在这之前,先让控制器传一个$a="欢迎您!"到模版中去。
$this->assign($a,$a);在模版中,直接<volist value=$a></volist>

代码可能有错误,很久没做过TP了、

㈡ thinkphp 怎么做登录验证

登录无非就是验证用户名密码以及验证码是否正确,我们可以新建一个CommonAction的公共类,用来校验权限,其他所有类继承此类。该类内部写一个初始化方法,用于验证,这一讲先不详细讲解。继续说登录,由于登录是公开模块的方法,所以可以新建一个PublicAction类,用于公共的免验证方法,同时在配置文件中添加

'NOT_AUTH_MODULE'=>'Public',//默认不需要认证的模块

'USER_AUTH_GATEWAY'=>'/Public/login',//默认的认证网关

然后开始编写Public类,具体代码如下:

<?php

{

//验证码显示

publicfunction verify(){

import("ORG.Util.Image");

Image::buildImageVerify(4,1,"png",100,28,"verify");

}

//验证是否账号密码

function checklogin(){

//此处多余可自行改为Model自动验证

if(empty($_POST['username'])){

$this->error('帐号错误!');

}elseif (empty($_POST['password'])){

$this->error('密码必须!');

}elseif (empty($_POST['verify'])){

$this->error('验证码必须!');

}

$map=array();

$map['username']=$_POST['username'];

$map['status']=array('gt',0);

if($_SESSION['verify']!= md5($_POST['verify'])){

$this->error('验证码错误!');

}

import('ORG.Util.RBAC');

//C('USER_AUTH_MODEL','User');

//验证账号密码

$authInfo=RBAC::authenticate($map);

if(empty($authInfo)){

$this->error('账号不存在或者被禁用!');

}else{

if($authInfo['password']!=md5($_POST['password'])){

$this->error('账号密码错误!');

}else{

$_SESSION[C('USER_AUTH_KEY')]=$authInfo['id'];//记录认证标记,必须有。其他信息根据情况取用。

$_SESSION['email']=$authInfo['email'];

$_SESSION['nickname']=$authInfo['nickname'];

$_SESSION['user']=$authInfo['username'];

$_SESSION['last_login_date']=$authInfo['last_login_date'];

$_SESSION['last_login_ip']=$authInfo['last_login_ip'];

//判断是否为超级管理员

if($authInfo['username']=='admin'){

$_SESSION[C('ADMIN_AUTH_KEY')]=true;

}

//以下操作为记录本次登录信息

$user=M('User');

$lastdate=date('Y-m-d H:i:s');

$data=array();

$data['id']=$authInfo['id'];

$data['last_login_date']=$lastdate;

$data['last_login_ip']=$_SERVER["REMOTE_ADDR"];

$user->save($data);

RBAC::saveAccessList();//用于检测用户权限的方法,并保存到Session中

$this->assign('jumpUrl',.'/Index/index');

$this->success('登录成功!');

}

}

}

//退出登录操作

function logout(){

if(!empty($_SESSION[C('USER_AUTH_KEY')])){

unset($_SESSION[C('USER_AUTH_KEY')]);

$_SESSION=array();

session_destroy();

$this->assign('jumpUrl',/Code.'/login');

$this->success('登出成功');

}else{

$this->error('已经登出了');

}

}

}

以上代码仅实现功能,没有做优化,有些验证的操作可以放到model,session也不用一 一赋值,用数组即可,我想已经入门的应该可以自己改的更好。

㈢ ThinkPHP要做一个登录判断的控制器让其他控制器来继承它,如果没登录就跳转到登录页面,怎么写

新建一个commonController控制器,然后把下边代码复制进去,登录成功就创建session,否则就检测当前访问的控制器和方法有没有在允许访问的方法内,有就允许访问,没有就跳转到登录.

<?php

namespaceAdminController;

useThinkController;

{

function__construct(){
parent::__construct();

$nowca=CONTROLLER_NAME."/".ACTION_NAME;

$adname=$_SESSION['admin_name'];
$AdminId=$_SESSION['admin_id'];

$loginca="Index/login,Index/check_user";//未登录允许访问的控制器和方法

if(empty($adname)&&strpos($loginca,$nowca)===false){
$url=__MODULE__;
echo'<literal><script>window.top.location.href="'.$url.'/Index/login";</script></literal>';
exit;
}
}

function_empty(){
header("HTTP/1.0404NotFound");
$this->display('templet/admin/404.html');
}

}

㈣ thinkphp如何防止直接通过地址栏访问某个模块 必须要经过一个单页里面设有登录才能访问

在做的就是把图片上传到我自己的数据库,然后可以再本机上通过数据库看到这张图片,

㈤ ThinkPHP框架中登录验证如何实现

Action类提供了一个初始化方法_initialize接口,可以用于扩展需要,_initialize方法会在所有操作方法调用之前首先执行,所以你只要把验证代码放在Action类的_initialize()方法中即可,这样访问该类的方法都经过了验证。参考ThinkPHP完全开发手册13.3节——控制器扩展。
另外,假如你需要验证的Action类比较多,可以专门建立一个验证类,写一次_initialize()方法,然后需要验证的其他Action类继承自该验证类即可。
12345678910111213// 验证类Class AuthorizedAction extends Action{ Public function _initialize(){ // 初始化的时候检查用户权限 $this->checkRbac(); } } // 继承自验证类 Class UserAction extends AuthorizedAction{ Public function userfunction(){ // TO DO ... } }

㈥ 怎么用sql注入绕过thinkphp 框架做的登录

TP有防止各种攻击的机制,SQL什么的TP根本不放眼里。不过低版本的,你可以试试DDOS

㈦ ThinkPHP框架简单的注册登录里用户权限控制怎么实现

可以参照mysql的功能权限的做法,我不知道你提问的是不是这个权限,举个例子:
你后台可能有贴子管理,用户管理等等功能,假设帖子管理使用权限是1,用户管理使用权限是2,没有权限是0
新建三个表,一个是管理员表,一个是角色表,一个是管理员和角色关系表
举两个角色的例子,一个是普通管理员,一个是超级管理员,当新增超级管理员角色的时候角色的时候,此时超级用户的权限应该是12,当新增普通管理员的时候,他只有管理帖子的权限,那么他的权限就是10,这样角色表里面就有两个角色了
接着,新增用户的时候,例如新增一个用户叫题主,新增的时候选择一个角色是普通管理员,写入数据库后,顺便写进角色和用户之间的关系表,这样就能做到权限的控制了,也可以细分到编辑,删除,添加等权限,不过要保证方法名字一样。
当然这里只是粗略的说了一下而已,真做起来有挺多问题,尝试一下就知道了

前台用户注册登录权限思路也差不多,自己想想,做做就清楚了

还有就是可以google一下RBAC的数据库设计

㈧ 在Thinkphp中 自己怎么写一个简单的登录功能出来,求代码

登陆页面login.html代码
<formaction="__MODULE__/Login/dologin"method="post">
账号:<inputtype="text"name="username"/>
密码:<inputtype="password"name="password"/>
<inputtype="submit"value="登陆"/>
</form>
Login控制器下dologin方法代码				
public function dologin(){
$u=I('Post.username');
$p=I('Post.password');
$data['username']=$u;
$data['password']=md5($p); //md5加密
$m=M('User');
$list=$m->where($data)->find();
if($list){
$_SESSION['islogin']=1; //登陆状态存入session
$_SESSION['username']=$list['username']; //把用户名存入session
$_SESSION['id']=$list['id']; //把用户id存入session
$this->redirect("Index/index");
}else{
$this->error("登陆失败",'javascript:history.back(-1);',1);
}
}基本的代码就这些 配置文件跟数据库自己改改就行了

㈨ php中 用的是thinkphp模板 怎么样让用户保持在登录状态用session

thinkphp中是通过在项目文件夹下的conf文件夹下面的config.php重新对session进行“增,删,改,查”配置的,首先找到相对的部分然后看使用哪种方法进行cookie的,假如是mencache服务器上保存的那还有mencache的配置方法,实现的方式很多,具体的要看过才知道哦

㈩ thinkphp 怎样实现登录验证

thinkphp 实现登录验证代码如下:

  1. //登录验证

  2. public function doLogin(){

  3. $type=I('post.type');

  4. if(!self::check_verify(I('post.code'))){

  5. if($type==home){

  6. $this->error("验证码错误",U("/Home/Index/login"));

  7. }else{

  8. $this->error("验证码错误",U("Login/login"));

  9. }

  10. }

  11. $accountInfo=M('account')->where("account='".I('post.account')."' AND (user_type=3 OR user_type=2)")->find();

  12. if(!$accountInfo){

  13. if($type==home){

  14. $this->error("账号不存在",U("/Home/Index/login"));

  15. }else{

  16. $this->error("账号不存在",U("Login/login"));

  17. }

  18. }

  19. if($accountInfo['password']!=md5(I('post.password')."sqysll")){

  20. if($type==home){

  21. $this->error("密码错误",U("/Home/Index/login"));

  22. }else{

  23. $this->error("密码错误",U("Login/login"));

  24. }

  25. }

  26. $_SESSION['user_type']=$accountInfo['user_type']; //用户类型

  27. $_SESSION['aid']=$accountInfo['id'];

  28. if($type==home){ //0代表官网登录,1代表医院医生后台登录

  29. $_SESSION['type']=0;

  30. }else{

  31. $_SESSION['type']=1;

  32. }

  33. $this->redirect('Index/index');

  34. }

  35. //(TP3.2自带)生成验证码

  36. public function code(){

  37. ob_clean();

  38. $c=I('c');

  39. $config = array( 'fontSize' => 30, // 验证码字体大小

  40. 'length' => 3, // 验证码位数

  41. 'useNoise' => false, // 关闭验证码杂点

  42. );

  43. $Verify = new ThinkVerify($config);

  44. $Verify->entry($c);

  45. }

  46. // (TP3.2自带)检测输入的验证码是否正确,$code为用户输入的验证码字符串

  47. function check_verify($code, $id = ''){

  48. $verify = new ThinkVerify();

  49. return $verify->check($code, $id);

  50. }

阅读全文

与thinkphp登录过滤器相关的资料

热点内容
厌氧废水的氧化还原电位 浏览:897
长春市污水处理工上岗证 浏览:359
牙齿纳米镀膜树脂贴面 浏览:353
净水器需要从哪里放水 浏览:811
超滤反洗的步骤 浏览:591
14款汉兰达汽油滤芯怎么换 浏览:619
工业纯水机要怎么选 浏览:171
空气净化器进水了怎么办 浏览:707
原神纯水精灵bug怎么打 浏览:56
钢丸钢砂过滤 浏览:501
氯碱工业产生的废水如何处理 浏览:567
空气净化器开不了机是什么问题 浏览:403
纳滤流程图 浏览:803
家用ro膜每次反冲洗多久好 浏览:674
太原淀粉污水处理设备多少钱 浏览:807
大型净水机设备排多少废水 浏览:527
环氧乙烯树脂怎么洗 浏览:336
污水管进污水井要深入多少 浏览:853
污水中的氨氮是如何产生的 浏览:360
大金中央空调带提升泵吗 浏览:453