define实现权限认证

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。 http://blog.youkuaiyun.com/mayongzhan - 马永占,myz,mayongzhan

周末有点时间,研究了下define实现权限认证.
使用define验证可以达到最基本的登陆通过认证.
lzy同志用过define验证一个系统是否被允许使用.discuz论坛里也有关于define的使用.
亲自试了一下.
通过一个文件引用另外一个文件.实现权限认证.
做了个简单的登陆,登陆成功后define一个值,然后加载需要权限认证的文件.
成功!!!
直接访问另外的那个文件,失败!!!
然后测试了下远程的安全性.
打开php.ini中的allow_url_include ,这个是控制是否可以远程include文件的.然后include远程的文件(我把那个文件放到测试服务器上),继续登陆.失败!!!.结论:远程破解这种验证方式是不可行的.
这种方式只适合简单权限认证,如果权限系统比较复杂.这个可能就只能用来封装同一模块内文件了.
<!-- 这个是login.php文件,是主要的文件 -->
<?php
/**
* @name login.php
* @date Sun Oct 21 18:33:39 CST 2007
* @copyright 马永占(MyZ)
* @author 马永占(MyZ)
* @link http://blog.youkuaiyun.com/mayongzhan/
*/
if (isset($_POST["userName"])) {
if ($_POST["userName"]=="MyZ") {
define("MyZ","logined");
require("mainPage.php");
}
}
else {
echo <<<HTML
<form method="POST" action="login.php" name="loginForm" id="loginForm">
<input name="userName" id="userName" type="text" value="" />
<input name="submit" id="submit" type="submit" value="提交" />
</form>
HTML;
}
?>
<!-- 这个是引用的文件,就是需要权限认证才能访问的文件 -->
<?php
/**
* @name mainPage.php
* @date Sun Oct 21 18:34:53 CST 2007
* @copyright 马永占(MyZ)
* @author 马永占(MyZ)
* @link http://blog.youkuaiyun.com/mayongzhan/
*/
if (!defined("MyZ")) {
die("Access Denied");
}
echo "In mainPage! <a href='login.php'>back to login</a>";
?>
v
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值