防止

<?php
namespace Home\Controller;
use Think\Controller;
class CommonController extends Controller{

    public function _initialize()
    {
        if(empty($_COOKIE['user_login_mobile']))
        {    

            redirect(U(,'请注册...');
        }else{
            $user=D('user');
            $mobile=pwd_decode($_COOKIE['user_login_mobile']);
            $user_msg=$user->where("mobile=$mobile")->select();
            if(empty($user_msg)){
                cookie('user_login_mobile',null);
                redirect(U(,'请注册...');
            }
        }
    }
}

加密解密方法:

 //加密
 function pwd_encode($data,$key,$expire)
 {
     $key=$key?$key:C('PWD_KEY');
     $expire=$expire?$expire:C('AUTO_LOGIN_TIME');
     return \Think\Crypt\Driver\Think::encrypt($data,$key,$expire);
 }
 //解密
 function pwd_decode($data)
 {
     $key=$key?$key:C('PWD_KEY');
     return \Think\Crypt\Driver\Think::decrypt($data,$key);
 }

加密啊:

  //登录成功>>>>>>>
             //加密
             $user_login_mobile=pwd_encode($data['mobile']);
             //存入cookie,保存时间1个星期,一个星期内不需要再次登录
             cookie('user_login_mobile',$user_login_mobile,3600*24*7);
             //之后跳转首页
             redirect(U('Home/Index/index'), 2,'登录成功...');

用COOKIE而不用session你知道为什么吗

ThinkPHP之中利用commom被继承控制器控制访问每一个控制器方法都需要验证是否已经登录!的更多相关文章

  1. 使用容器控制器控制另外两个控制器的view交换

    建三个UIViewController 的子控制器,其中一个为根控制器,另外两个控制器的视图作为切换对象 AppDelegate中代码 //AppDelegate.h中代码 #import <U ...

  2. 玩转SSRS第九篇---匿名访问的一个间接方法

    SSRS是一个功能丰富的报表平台,我们可以在这个平台上实现各种不同需求的报表应用,所以这个平台也吸引了很多.net框架之外的技术,希望能在应用中引入SSRS的报表,比如JSP或者PHP页面,这个时候系 ...

  3. 从一个控制器调到另一个控制器的[UIViewController _loadViewFromNibNamed:bundle:]崩溃

    一,现象和分析: 1.崩溃的主要地方是[UIViewController _loadViewFromNibNamed:bundle:] ,是从 A 控制器 push 到 B 控制器后, B 控制器的v ...

  4. yii2在控制器中调用另一个控制器方法

    Yii::$app->runAction(控制器/方法名);

  5. thinkphp使用模块/控制器/操作访问时出现No input file specified.解决方式

    thinkphp使用 http://serverName/index.php/模块/控制器/操作 访问时,出现了 No input file specified. 的错误 解决办法: 一: 开启cgi ...

  6. ThinkPHP开发api时多级控制器的访问方法

    发开api时,经常会用到thinkphp的多级控制器,访问方法如下: 例如:有v1和v2两个版本的接口 v1:版本控制器(类文件位置为:application/api/controller/v1/Us ...

  7. Yii中利用filters来控制访问

    filters()方法定义在CController里,用Gii生成Controller时里面就有filters方法,代码如下: public function filters() { // retur ...

  8. ASP.NET Core中使用自定义验证属性控制访问权限

    在应用中,有时我们需要对访问的客户端进行有效性验证,只有提供有效凭证(AccessToken)的终端应用能访问我们的受控站点(如WebAPI站点),此时我们可以通过验证属性的方法来解决. 一.publ ...

  9. thinkphp单入口和多入口的访问方法

    完全是参考thinkphp的官网资料 现在, 基本上都是 用 单入口 的方式来做的! thinkphp可创建多入口和单入口两种模式,本文主要讲解创建方法和两者的区别. TP版本:3.1.3 前端:Ho ...

随机推荐

  1. Java 线程间通讯(共享变量方式)

    Java线程间通讯,最常用的方式便是共享变量方式,多个线程共享一个静态变量就可以实现在线程间通讯,但是这需要注意的就是线程同步问题. 一.没考虑线程同步: package com.wyf; publi ...

  2. ADO.NET 实体框架 资料收集

    https://msdn.microsoft.com/en-us/data/aa937723.aspx https://msdn.microsoft.com/en-us/library/bb39957 ...

  3. java 宠物商店代码

    Pet.java interface Pet{ public String getName(); public String getColor(); public int getAge(); publ ...

  4. java中的static变量

    java中的static变量 例如 public static int num=0: num+=1;放在函数里面 调用一次变动一次.

  5. checkbox与文字的间距

    1. checkbox在更换了图片后, 与文字的距离有问题, 建议修改background为@null, 去除占据的位置. 2.   checkbox的paddingleft可以控制图片和文字的间距.

  6. 测试一个域名DNS查询时间的shell脚本

    脚本内容: #!/bin/bash #目标域名 site=${site:-www.ptesting.com} for((i=1;i<=10000;i++)) do     #COUNTER='e ...

  7. 使用Spring的Property文件存储测试数据 - 添加测试数据

    测试数据直接写在Property文件中,如下图: application.properties是系统自动生成,我添加了两个Property文件:HomeTestData.properties和moto ...

  8. SDUT 3346 数据结构实验之二叉树七:叶子问题

    数据结构实验之二叉树七:叶子问题 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...

  9. Flex 播放视频

    Flex提供视频控件(VideoDisplay Control)播放图像和声音. 视频控件只支持播放,暂停和停止功能.不提供倒退和前进功能.只支持播放FLV格式的影片. 1. 视频控件标签 对应的MX ...

  10. Select的深入应用(1)

    在子句中使用列的位置: 使用select语句创建新表: 在子句中使用列的别名: 注意,你的 ANSI SQL 不允许你在一个WHERE子句中引用一个别名.这是因为在WHERE代码被执行时,列值还可能没 ...