<?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. 使用nginx部署Yii 2.0\yii-advanced-app-2.0.6

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...

  2. 【java】分页查询实体类

    package com.dmsd.itoo.tool.pageModel; import java.io.Serializable; import java.util.HashMap; import ...

  3. .NET跨AppDomain访问对象

    什么是AppDomain? 我们都知道windows进程,它起到应用程序隔离的作用,带来的好处是,当某个进程发生错误的时候,不会影响其他的进程,系统也不会受到影响.但是,创建windows进程的代价是 ...

  4. 关于Jquery中ajax介绍

    jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需 ...

  5. 巧用freemarker

    使用Freemarker宏进行可扩展式模块化编程 该文是转载而来,并非我本人所写,但是觉得真心不错,所以收藏一下 一.前言 今天的文章聊一下freemarker的一些特性:宏,我们将使用它写出一些模块 ...

  6. OC的封装、继承与多态

    面向对象有三大特征:封装.继承和多态. 一.封装 封装是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问.简而言之,信息隐藏,隐 ...

  7. Dalvik系列02 - 指令格式

    简介 该文档描述了Dalvik 可执行文件和Dalvik 字节码的指令格式. 按照位的描述 格式描述表(见下文)的第一列表示个格式的位结构,它由一个或者多个由空格分开的“指令单元”构成,每个指令单元的 ...

  8. AngularJS 深入理解 $scope

    $scope 的使用贯穿整个 AngularJS App 应用,它与数据模型相关联,同时也是表达式执行的上下文.有了$scope 就在视图和控制器之间建立了一个通道,基于作用域视图在修改数据时会立刻更 ...

  9. java 在linux环境下写入 syslog 问题研究

    1.Syslog 在Unix类操作系统上,syslog广泛应用于系统日志.syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器.接收syslog的服务器可以对多个设 ...

  10. How do I remove javascript validation from my eclipse project?

    Right click your project Select Properties -> JavaScript -> Include Select Source tab (It look ...