php中使用session防止用户非法登录后台的方法
本文实例讲述了php中使用session防止用户非法登录后台的方法。分享给大家供大家参考。具体如下:
一般来说,我们登录网站后台时,服务器会把登录信息保存到session文件里,并通过读取session文件来判断是否可以进行后台操作。
以下面为例,假如admin.php是我们的后台操作页面,如果没有启用 session,那么,即便是没有登录,用户照样能访问到该页面,这时候,就需要用到 session 来防止用户非法登录到这个页面了。下面是三个文件的代码
登录页面:login.php
<h2>用户登录页面</h2>
<form action="loginProcess.php" method="post">
用户名:<input type="text" name="username"><br />
密 码:<input type="password" name="pwd"><br />
<input type="submit" name="sub" value="登录后台">
</form>
<?php
if(!empty($_GET['errno'])){
if($_GET['errno']==1){
echo "用户名或密码错误";
}else if($_GET['errno']==2){
echo "请输入用户名密码";
}else if($_GET['errno']==3){
echo "非法访问,请输入用户名和密码";
}
}
?>
登录信息处理页面:loginProcess.php
<?php
//这里主要讲session,关于登录信息验证,就不涉及到数据库了
//接收登录信息,保存session
if(!empty($_POST['sub'])){
if($_POST['username']=="admin" && $_POST['pwd']=="admin"){
echo "登录成功";
session_start();//开启session
$_SESSION['username'] = $_POST['username'];//将登录名保存到session中
header("Location: admin.php");
exit();
}else{
header("Location: login.php?errno=1");
exit();
}
}else{
header("Location: login.php?errno=2");
exit();
}
?>
后台文件:admin.php
<?php
session_start();
if(empty($_SESSION['username'])){
header("Location: login.php?errno=3");
exit();
}
echo "你是管理员,你现在拥有后台管理权限";
?>
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
php中如何同时使用session和cookie来保存用户登录信息
同时使用session和cookie来保存用户登录信息1.数据库连接配置页面:connectvars.php 复制代码 代码如下: <?php//数据库的位置define('DB_HOST', '127.0.0.1');//用户名define('DB_USER', 'root');//口令define('DB_PASSWORD', '19900101');//数据库名define('DB_NAME','test') ;?> 2.登录页面:logIn.php 复制代码 代码如下: <?ph
-
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
1. 2. <if condition="$GLOBALS['userinfo']['user_id'] gt 0"> <span class="help_wz"><a href="{$Think.config.VIP_URL}/Member/user_pwd/" style="color:#404958;">找回登录密码</a></span> <else/&g
-
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
这里讲一个简单的方法,直接使用discuz的include/common.inc.php来登录. 复制代码 代码如下: include_once("../discuz/include/common.inc.php"); $CTDF_USERINFO = array(); $CTDF_USERINFO["sid"] = $sid; $CTDF_USERINFO["uid"] = $discuz_uid; $CTDF_USERINFO["u
-
WAMPserver配置方法(允许外部访问、phpmyadmin设置为输入用户名密码才可登录等)
对于很多不熟悉PHP环境安装的朋友来说,用集成环境可以更快的上手,更方便的搭建PHP的运行环境,但是,WAMP的集成环境仅仅是将底层基础工作做好了,有些个别关键的配置操作并没有集成到环境安装中,所以给大家带来不少麻烦,看到搜索引擎中很多朋友都在问为什么安装好WAMP后,只能本地访问?局域网内禁止访问?或者为什么本地数据库PHPMYADMIN为什么也不能在外部局域网内访问呢?如何设置Mysql必须输入用户名和密码而不是直接登录进去呢? 下面根据自己的亲身实践,说说WAMP配置的整个过程. 1.下载
-
PHP获取windows登录用户名的方法
前几天在问答区提了一下这个问题,所有回答问题的朋友都说不可能通过PHP实现,碰巧我的实习负责人帮我找到了一个方法,貌似是通过NTLM来实现的,我是新手,对具体原理也知之不详,只是自己测试了一下,很好用. 所以赶快拿出来与大家分享.这是一个法国人写的,所以编码中的注释都是法语,如果有朋友很想了解某行的注释含义,请回帖说明,我可以试着翻译一下. <?php /***********************************************************************
-
ThinkPHP之用户注册登录留言完整实例
本文以实例形式讲述ThinkPHP实现的包括用户的注册.登录以及留言等功能,这里需要大家注意的是,在存在用户模型的情况下实例化一个用户类的时候使用D方法来实现. UserActiion.class.php页面: <?php class UserAction extends Action{ public function add(){ $user = D("user"); $user->create(); $result = $user->add(); if($re
-
php中使用cookie来保存用户登录信息的实现代码
使用cookie保存页面登录信息 1.数据库连接配置页面:connectvars.php 复制代码 代码如下: <?php //数据库的位置 define('DB_HOST', 'localhost'); //用户名 define('DB_USER', 'root'); //口令 define('DB_PASSWORD', '19900101'); //数据库名 define('DB_NAME','test') ; ?> 2.登录页面:logIn.php 复制代码 代码如下: <?php
-
PHP+Ajax验证码验证用户登录
用AJAX 验证用户登录的一个好处是不刷新跳转页面,外加用到验证码就更安全了,摸索的写了下.一共用到三个文件: yz.php: 生成验证码的PHP 文件,将验证码将在SESSION 里,供登录时对比调用 index.php: 用户登录的HTML 文件 loginCheck.php: 验证用户登录的文件 下面一一解析: yz.php 文件 <?php session_start(); //生成验证码图 Header("Content-type: image/PNG"); //长与
-
php有效防止同一用户多次登录
[问题描述]:同一用户在同一时间多次登录如果不能检测出来,是危险的.因为,你无法知道是否有其他用户在登录你的账户.如何禁止同一用户多次登录呢? [解决方案] (1) 每次登录,身份认证成功后,重新产生一个session_id. session_regenerate_id(); session_register ("username") ; (2) 在用户数据库中开一个sessionid字段,重新产生session_id后,都更新该字段. $sessionid = session_id(
-
php中使用session防止用户非法登录后台的方法
本文实例讲述了php中使用session防止用户非法登录后台的方法.分享给大家供大家参考.具体如下: 一般来说,我们登录网站后台时,服务器会把登录信息保存到session文件里,并通过读取session文件来判断是否可以进行后台操作. 以下面为例,假如admin.php是我们的后台操作页面,如果没有启用 session,那么,即便是没有登录,用户照样能访问到该页面,这时候,就需要用到 session 来防止用户非法登录到这个页面了.下面是三个文件的代码 登录页面:login.php 复制代码 代
-
PHP cookie,session的使用与用户自动登录功能实现方法分析
本文实例讲述了PHP cookie,session的使用与用户自动登录功能实现方法.分享给大家供大家参考,具体如下: cookie的使用 //生成cookie //注释:setcookie() 函数必须位于 <html> 标签之前. //setcookie(name, value, expire, path, domain); //名称,值,过期时间,有效路径,有效域名 //path,可选:如果路径设置为 "/",那么 cookie 将在整个域名内有效.如果路径设置为 &q
-
Django中使用session保持用户登陆连接的例子
使用session保持用户登陆连接 在 view 中 login() 视图函数里增加如下语句 不允许重复登录语句 if request.session.get('is_login',None): return HttpResponseRedirect(reverse('index')) 一旦用户名和密码输入正确,就往 session 字典内写入用户状态和数据 request.session['is_login'] = True request.session['user_id'] = db_us
-
JSP Spring防止用户重复登录的实现方法
JSP Spring防止用户重复登录的实现方法 Spring security防用户重复登录 使用spring security如何防止用户的重复登录呢?如果用户账号已登录,这时再进行第二次或多次登录,需要阻止这样的多次登录. 一.在web.xml中配置listener <listener> <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-
-
laravel利用中间件防止未登录用户直接访问后台的方法
中间件介绍 http://laravelacademy.org/post/7812.html 创建中间件 php artisan make:middleware AdminLogin 然后我们打开kernel.php,将这个中间件加入到$routeMiddleware路由中间件中 'admin.login' => \App\Http\Middleware\AdminLogin::class, 一个简单的小判断,判断一下有没有session存在,如果有的话就直接走我们现在访问的路由,如果没有ses
-
在laravel5.2中实现点击用户头像更改头像的方法
视图层 !!!自己下载jquery文件和ajaxfileUpload的插件 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> </style> </head> <script type="text/javascript&q
-
在Linux中查看及终止正在运行的后台程序方法
linux 任务管理-后台运行与终止 fg.bg.jobs.&.ctrl + z命令 一. & 加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &, 二.ctrl + z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态,不可执行 三.jobs 查看当前有多少在后台运行的命令 jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了(kill),shell 从当前的shell环境
-
win2003禁止用户远程登录的设置方法
windows2003下禁止用户远程登录的方法如下: 打开控制面板 > 管理工具 > 本地安全策略 安全策略-->本地策略-->用户权限分配-->通过终端服务拒绝登录,在里面添加想要禁止远程的用户可以达到让这个账户无法远程 关掉后可以用刚才添加的那个用户远程一下,看看是不是不可以远程了? 至此就完成了禁止用户远程登录 我一般都是使用一些管理员账户来执行一些特殊的任务,但是不需要这些用户来远程登录系统,所以这种用户远程登录方法非常实用,也降低了了服务器安全方面的风险
-
Ajax Session失效跳转登录页面的方法
在Struts应用中,我们发出的请求都会经过 相应的拦截器进行相关处理,一般都会有一个用户登录拦截(Session失效拦截):一般请求的话,如果Session失效时,我们会跳到登录页面,可是如果我们采用AJAX请求时,将会返回登录页面的HTML代码,这肯定不是我们想要的,那么我们如何解决呢?请看以下步骤: 一.建立拦截器 package com.xxx.planeap.interceptor; import javax.servlet.http.HttpServletRequest; impor
-
详解Django框架中用户的登录和退出的实现
Django 提供内置的视图(view)函数用于处理登录和退出 (以及其他奇技淫巧),但在开始前,我们来看看如何手工登录和退出. Django提供两个函数来执行django.contrib.auth\中的动作 : authenticate()和login(). 认证给出的用户名和密码,使用 authenticate() 函数.它接受两个参数,用户名 username 和 密码 password ,并在密码对给出的用户名合法的情况下返回一个 User 对象. 如果密码不合法,authenticat
随机推荐
- springboot 文件上传大小配置的方法
- Spark入门简介
- Java修饰符 abstract,static,final 的区别详解
- 仅需几行代码实现方便易用的状态栏指示器
- 使用Python神器对付12306变态验证码
- python使用scrapy解析js示例
- 详解iOS中按钮点击事件处理方式
- VS2015自带LocalDB数据库用法详解
- php字符串分割函数用法实例
- Android开发之ClipboardManager剪贴板功能示例
- Android 高仿QQ 沉浸式状态栏
- 详解Lua中的表的概念及其相关操作方法
- Windows Powershell 访问数组
- jQuery中绑定事件的命名空间详解
- php中array_slice和array_splice函数解析
- Node.js开发者必须了解的4个JS要点
- 三招轻松降伏隐形大盗病毒
- 为什么经常被网络入侵?探究原因
- vbs能调用的系统对象小结
- Django中reverse反转并且传递参数的方法