简单的方法让你的后台登录更加安全(php中加session验证)


Posted in PHP onAugust 22, 2012

本文将以Joomla!后台链接为例,讲解如何“修改”我们的后台链接,使其更加安全。

原理:通过特定文件为后台入口注册session,否则失败退出。即直接使用原后台地址将无法登录后台。这样一来,入口文件名的多样性、可变更性将为你的后台登录提供更加安全的环境。

一、入口文件:myadmin.php(文件名可随时更改)

作用:注册session。源码如下:

<?php 
session_name( "Zjmainstay" ); //session 名可更改,注意对应 
session_start(); 
$_SESSION['admin_user'] = "Y"; //session 变量名可更改,注意对应 
session_write_close(); 
?> 
<meta http-equiv="refresh" content="0;url=http://www.youdomain.com/administrator/"> 
[html] 
二、修改后台入口文件:/administrator/index.php(可以是任意CMS的入口文件开头) 


作用:利用session控制进入。源码如下: 
[code] 
define('_JEXEC', 1); //原文件Line 9 
define('DS', DIRECTORY_SEPARATOR); //原文件Line 10 
// Add 
session_name( "Zjmainstay" ); 
session_start(); 
$ok_to_browse = ( $_SESSION['admin_user'] == "Y" ); 
if (!$ok_to_browse ) { 
header("Content-type: text/html; charset=utf-8"); 
exit('拒绝非法访问!'); 
}else{ 
$_SESSION['admin_user'] = "Y"; //延续session的使用 
session_write_close(); 
} 
// Add End

登录示例:http://www.youdomain.com/myadmin.php

回车之后将自动跳转至:http://www.youdomain.com/administrator/(原后台登录地址)

而直接输入:http://www.youdomain.com/administrator/ 将提示'拒绝非法访问'并退出。

作者:Zjmainstay


出处:http://www.cnblogs.com/Zjmainstay/

PHP 相关文章推荐
用PHP读注册表
Oct 09 PHP
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
Nov 18 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
May 09 PHP
基于Discuz security.inc.php代码的深入分析
Jun 03 PHP
如何在php中正确的使用json
Aug 06 PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 PHP
php实现递归抓取网页类实例
Apr 03 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
php文件上传的两种实现方法
Apr 04 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
Jun 11 PHP
php workerman定时任务的实现代码
Dec 23 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
Aug 21 #PHP
php基础教程 php内置函数实例教程
Aug 21 #PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
Aug 21 #PHP
php计算十二星座的函数代码
Aug 21 #PHP
表格展示无限级分类(PHP版)
Aug 21 #PHP
gd库图片下载类实现下载网页所有图片的php代码
Aug 20 #PHP
自己在做项目过程中学到的PHP知识收集
Aug 20 #PHP
You might like
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
将OICQ数据转成MYSQL数据
2006/10/09 PHP
PHP 字符串操作入门教程
2006/12/06 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
JavaScript中的Number数字类型学习笔记
2016/05/26 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
JS实现简单表格排序操作示例
2017/10/07 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
Python中操作符重载用法分析
2016/04/29 Python
详解使用python crontab设置linux定时任务
2016/12/08 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
Python中str.join()简单用法示例
2018/03/20 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
jupyter 添加不同内核的操作
2021/02/06 Python
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
党员承诺践诺书
2014/05/20 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL