<?php
namespace Admin\Controller;
use Think\Controller;
class UserController extends Controller {//登陆验证
public function index(){
$user= M ("表名");
//接收登录表单里的名字以及密码
$adminname=$_POST['name'];
//密码加密,不建议使用MD5,MD5也不安全,这里测试用
$adminpwd=md5($_POST['pwd']);
//echo $adminname,$adminpwd;die;
$arr=$user->where("数据库用户名='$adminname'")->find();
if($arr){
if($arr['数据库密码']==$adminpwd)
{
//开启session,用cookie也可以,建议session
session_start();
session("name",$adminname);
//echo $_SESSION['name']; //返回对应数值,前端接收。
echo "0";
}else{
echo "1";
}
}else{
echo "2";
}
}
}
?>
【关于session与cookie主要核心,区别前面博客已列出,这里不区别】
【session】session赋值Session赋值比较简单,直接使用:session('name','value'); //设置sessionsession取值
$value = session('name');// 获取所有的session 3.2.2版本新增$value = session();
session删除删除某个session的值使用:session('name',null); // 删除name要删除所有的session,可以使用:session(null); // 清空当前的session
【cookie】Cookie设置cookie('name','value'); //
设置cookiecookie('name','value',3600); // 指定cookie保存时间Cookie获取获取cookie很简单,无论是怎么设置的cookie,只需要使用:$value = cookie('name');
如果要获取所有的cookie,可以使用:$value = cookie();
该用法相当于$value = $_COOKIE;
Cookie删除删除某个cookie的值,使用:cookie('name',null);
要删除所有的Cookie值,可以使用:cookie(null); // 清空当前设定前缀的所有cookie值
【关于防非法登录】首先创建一个名字为Common的控制器,里面判定是否非法(选取TP3.2框架)示意代码如下:
class CommonController extends Controller
{
public function __construct() {
parent::__Construct();
if(empty($_SESSION['name']))
{ //session('name',null);
echo "《script》alert('未登录,请先登录!');top.location.href='/XX/X/x;";
}
}
}

tp框架实现防止非法登录的更多相关文章

  1. TP框架中的一些登录代码分享

    <?php namespace Admin\Controller;use Think\Controller;class LoginController extends Controller{ p ...

  2. TP框架中如何使用SESSION限制登录?

    TP框架中如何使用SESSION限制登录? 之前总是被问题今天才明白,最高效的来做页面访问限制问题. OOP思想中的继承特性,实现验证,是否已经登录,不必每个页面都进行判断. 实现如下: 继承Cont ...

  3. tp框架的增删改查

    首先,我们来看一下tp框架里面的查询方法: 查询有很多种,代码如下: <?php namespace Admin\Controller; use Think\Controller; class ...

  4. tp框架之自动验证表单

    tp框架的create自动加载表单的方法可以自动根据自己定义的要求来验证表单里面的内容,但是由于是在后台执行代码,会拖慢程序运行速度,所以还是建议通过前端js来进行判断,后台只进行数据库的查询以及传值 ...

  5. 第一零二天上课 PHP TP框架 引入文件路径问题和调用验证码的方式

    外部文件引入到视图模板的方式       1,将外部文件放在Public文件夹下,用load标签引入       2,在模板出书写引入代码(方法有很多,只有以下方法不容易出问题) <load h ...

  6. struts2拦截器-简单实现非法登录验证

    概念:什么是拦截器 拦截器实现了面向切面的组件,它会影响多个业务对象的公共行为封装到一个个可重用的模块,减少了系统的重复代码,实现高度内聚,确保业务对象的整洁!   为什么使用拦截器 拦截器消除了动作 ...

  7. TP框架多上传域上传图片

    问题: 学习使用TP框架做电商网站是,添加商品表单需要上传商品logo和商品图片pics,有两个上传域,第一个上传域是logo,只上传一张,第二个上传域是pics,上传多张图片.使用如下代码,总是报错 ...

  8. TP框架 基础1

    php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...

  9. 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截

    程序猿修仙之路--数据结构之你是否真的懂数组?   数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构  .要想在之后的江湖历练中通关,数据结构必不可少. ...

随机推荐

  1. 04-c#入门(类型转换)

    “无论是什么类型,所有的数据都是一系列的位,即一系列0和1.变量的含义是通过解释这些数据的方式来传达的.”——这句原话是书上翻译的,不过后一句话总感觉理解起来不是很通俗,自己觉得这样理解可能会合适些: ...

  2. pip China

    建个文件 ~/.pip/pip.conf, 内容如下 [global] index-url = http://b.pypi.python.org/simple [install] use-mirror ...

  3. vs2010连接postgresql数据库

    Windows环境C/C++访问PostgreSQL主要有两种方式:利用Qt封装的数据库访问组件.利用PostgreSQL的API函数.使用Qt平台访问PostgreSQL的局限性很大,一旦脱离了访问 ...

  4. C#小程序飞行棋地图绘制

    1. 初始化地图,在绘制时可先将地图进行初始化,用数组来存储关卡的位置,然后利用循环给地图中 关卡所在处赋予代表关卡的值. 关键代码如下 /// <summary> /// 初始化游戏地图 ...

  5. iOS CoreAnimate

    iOS CoreAnimate 东西比较多,这篇笔记是入门用的,主要讲述的是静态的图形绘画处理问题.(当然动画也只是一小部分)理解相关的概念问题:   参考资料 http://segmentfault ...

  6. JVM 垃圾回收器工作原理及使用实例介绍(转载自IBM),直接复制粘贴,需要原文戳链接

    原文 https://www.ibm.com/developerworks/cn/java/j-lo-JVMGarbageCollection/ 再插一个关于线程和进程上下文,待判断 http://b ...

  7. 裸奔Spring(1)

    pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w ...

  8. android开发--sqlite数据库

    一.SQLite简介 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大.SQLite具备下列特点: 1.轻量级 使用 SQL ...

  9. MSBI - KPI

    KPI - common members: Value, Target, Status, Trend.

  10. java下的字符流

    输入流和输出流相对于内存设备而言.将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出.字符流的由来:其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表.获取对应的文字.比如, ...