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

本文将以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/

(0)

相关推荐

  • PHP登录验证码的实现与使用方法

    本文实例讲述了PHP登录验证码的实现与使用方法.分享给大家供大家参考,具体如下: 1. 新建code.php验证码生成文件 在此之前必须打开php的GD库,修改php.ini文件的配置,取消extension=php_gd2.dll前面的分号.代码如下: <?php session_start(); //生成验证码图片 Header("Content-type: image/PNG"); $im = imagecreate(44,18); $back = ImageColorAl

  • PHP使用CURL实现对带有验证码的网站进行模拟登录的方法

    网上的很多模拟登录程序,大都是通过服务程序apache之类的运行,获取到验证码之后显示在网页上,然后填上再POST出去,这样虽然看起来很友好,但是既然模拟登录,登录后所干的事情就不一定是短时间完成的,所以这就要受到php最大执行时间的限制,而且有些操作还有可能权限不足. 本文提供了一个程序实例,思路就是获取到验证码之后把验证码存储为一个图片,然后程序休眠20秒,在20秒之后由用户手动查看图片,并把验证码填写到code.txt文件中,20秒休眠完成后,程序会读code.txt的验证码,这样再带着验

  • PHP编写登录验证码功能 附调用方法

    本文实例为大家分享了一个PHP写的登录验证码功能,供大家参考,具体内容如下 ShowKey.php <?php session_start(); //设置COOKIE或Session function esetcookie($name,$str,$life=0){ //本函数将字符串 str 全部变小写字符串使验证码输入不区分大小写----在提交表单进行session比较同样需要次函数转化 $_SESSION[$name]=strtolower($str); } //获取随机字符 此函数区分字符

  • php session应用实例 登录验证

    复制代码 代码如下: <html> <head> <title>Login</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <form name="form1" method="post" action=

  • php面向对象的用户登录身份验证

    本文实例为大家分享了php用户登录身份验证的具体代码,供大家参考,具体内容如下 一.代码 conn.php <?php $conn = new com("adodb.connection"); $connstr="driver={microsoft access driver (*.mdb)}; dbq=". realpath("data/db_database07_188.mdb"); $conn->open($connstr);

  • PHP curl模拟登录带验证码的网站

    需求是这样的,需要登录带验证码的网站,获取数据,但是不可能人为一直去记录数据,想通过自动采集的方式进行,如下是试验出来的结果代码!有需要的可以参考下! <?php namespace Home\Controller; use Think\Controller; class LoginController extends Controller { protected $cookieName = array('cookie_verify', 'cookie_verify'); protected $

  • php cookie 登录验证示例代码

    复制代码 代码如下: <html> <head> <title>Login</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <form name="form1" method="post" action=

  • PHP通过session id 实现session共享和登录验证的代码

    先说说,这个机制的用途吧,到现在为止战地知道这个机制有两个方面的用途: 首先,多服务器共享session问题,这个大家应该都能够理解的,当一个网站的用户量过大,就会使用服务器集群,例如专门有一个登录用的服务器.用户通过登录服务器登录之后,登录服务器保存了用户的登录信息session,而其他受访问的服务器,例如电影服务器没有这个session,那么我们就要通过一个session的唯一标识来共享这个session了--具体session的共享超出了本文的范围,请自行查阅资料. 第二个用途就是,验证同

  • php自动注册登录验证机制实现代码

    背景: 在phpwind站点后台添加一个名为"广告管家"(广告管家为CNZZ的一款广告投放的应用)的应用,整个"广告管家"的应用是通过iframe载入,载入的具体内容根据不同站点显示针对该站点的具体内容,为了提高易用性,有以下的两点要求: 1.首次进入"广告管家"页面自动注册CNZZ账户 2.以后每次进入"广告管家"页面默认为首次注册的CNZZ账户 设计: 1.尝试载入用户帐号和密码信息,此信息保存在数据库或是文本缓存中 2.

  • php+MySQL实现登录时验证登录名和密码是否正确

    直入主题,先看php校验登录名和密码是否正确的代码: <?php $servername = "服务器名"; $username = "账户名"; $password = "密码"; $dbname = "数据库名"; ?> <?php // Session需要先启动. session_start(); //判断uname和pwd是否赋值 if(isset($_POST['uname']) &&

随机推荐