PHP中过滤器的问题 我是菜鸟,现也在做一个PHP的过滤器,当有人在IE上任输入一个页面进行访问时,提示必须先登录才可访问,然后自动返回到登录页面,对于PHP我是新手,希望高手们给予帮助啊,先谢啦 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般是基于session或cookie来实现的,通过判断是否有相应变量来处理。 php.ini 中 auto_prepend_file = "过滤器.php" 如果很多页面,这样一个个去判断是很繁琐的一件事啊,想请教下能否向JAVA中实现那样,写个专门的类,然后再在配制文件中进行配制就可以了,在整个程序中都有效啦 php.ini 中 auto_prepend_file = "过滤器.php"这个过滤器.php页面具体怎么写啊,还有到php.ini 中具体的配制是怎么实现呢,能否说详细点,如果能把源码发过来就更好啦,谢谢这位大侠,本人现在正急用呢。 在"过滤器.php" 中写下这样一行<?phpif(没有登录-可用cookie或session验证) die("你没有登录,请登录");?> session_start();//如果你想他if($_SESSION[name]=='xxx'){header("Location:你的登陆网页地址");}else{die("恭喜啊,成功了");}其实如果密码和用户名都对,注册一个$_SESSION[name]=='xxx'给它,没有的话,就不给,自然就不能登陆了.做个php文件,包含在要想在设置权限的地方判断一下就行了. /** * 验证用户是否登陆 * @todo 需要实现 */ function auth(){ if(isset($_SESSION[WEB_USER_SESSION_NAME])){ $user = $_SESSION[WEB_USER_SESSION_NAME]; if($user->user_type == WEB_USER){ $this->login_user = $user; return; } } redirect_lang(WEB_USER_PATH.'/user/logout'); }不知道能不能帮你参考 这个方法请写在 你要进入的function最前面 在一个页面上定义一个函数,函数验证一下SESSION,如果不存在SESSION,则跳转! 办法有很多啊。你可以写在xml里面做为配置文件啊。写一个你配置的标准.再用PHP去解析配置文件,不麻烦把 <?php if(没有登录-可用cookie或session验证) die("你没有登录,请登录"); ?> 我是这样做的,写了一个专门的filterLogin.PHP,里面的内容是这样写的:<?php session_start(); if($_SESSION["username"]=='' || $_SESSION["username"]==null) { echo"<script>alert('你没有登录,请先登录吧');window.location='login1.php';</script>"; return ; }?>然后我在每个页面直接include("filterLogin.PHP");效果是出来啦,但总会到页面上打印出警告信息,我不知这样做的是否正确,请帮我指点指点好吗? 能否举一个完整的例子,或者帮小弟指点指点一下,所做的,到底错在哪里???我是这样做的,写了一个专门的filterLogin.PHP,里面的内容是这样写的: <?php session_start(); if($_SESSION["username"]=='' ¦ ¦ $_SESSION["username"]==null) { echo" <script>alert('你没有登录,请先登录吧');window.location='login1.php'; </script>"; return ; } ?> 然后我在每个页面 直接include("filterLogin.PHP");效果是出来啦,但总会到页面上打印出警告信息,我不知这样做的是否正确,请帮我指点指点好吗? 咦,我的思路也是这样的,只是你说设置权限的地方判断一下就行了,我有点不明白,你那前面不是判断了吗?我是这样做的,写了一个专门的filterLogin.PHP,里面的内容是这样写的: <?php session_start(); if($_SESSION["username"]=='' ¦ ¦ $_SESSION["username"]==null) { echo" <script>alert('你没有登录,请先登录吧');window.location='login1.php'; </script>"; return ; } ?> 然后我在每个页面 直接include("filterLogin.PHP");效果是出来啦,但总会到页面上打印出警告信息,我不知这样做的是否正确,请帮我指点指点好吗? <?php session_start(); if(!isset($_SESSION["username"]) || empty($_SESSION["username"])) { echo" <script>alert('你没有登录,请先登录吧');window.location='login1.php'; </script>"; return ;} ?>测试一下,看是否解决问题 可以让所有访问都通过同一个php通过访问路径判断调用哪一个页面(正常或者错误之类)例如类似于下面的地址:http://test/index.php/程序名1/程序名2/程序名3/程序名或者是魔板名.htmlhttp://test/index.php?mod=处理程序路径名&a=其他请求等 一般都拿session做如果全部都用过滤器的话效率不高 你说的是面向切面编程, 在java里面很容易实现,PHP好像也有filter了,不过我还没用过。 写一个检查 session 的页,然后 include 不就行了 linux下如何安装与配置PHP 分区问题??? 怎样逐行显示数据库表查询结果? 类似vs2005自动排版的开发工具 关于使用PHP制作仿IE工具栏管理的功能(内详有示意图) 简单问题,散分了 这错误跟PHP版本有关系? 求本 专门详细讲解 TXT数据库的电子书 谁能帮我把这段ASP代码转成PHP,谢谢了。 如何实现将自己站点的POST变量POST到其他站点上? 为什么dirname($PATH_TRANSLATED)的值是空的? 关于php写入txt文件的问题
auto_prepend_file = "过滤器.php"
auto_prepend_file = "过滤器.php"这个过滤器.php页面具体怎么写啊,还有到php.ini 中具体的配制是怎么实现呢,能否说详细点,如果能把源码发过来就更好啦,谢谢这位大侠,本人现在正急用呢。
在"过滤器.php" 中写下这样一行
<?php
if(没有登录-可用cookie或session验证) die("你没有登录,请登录");
?>
//如果你想他
if($_SESSION[name]=='xxx'){
header("Location:你的登陆网页地址");
}else{
die("恭喜啊,成功了");
}
其实如果密码和用户名都对,注册一个$_SESSION[name]=='xxx'给它,没有的话,就不给,自然就不能登陆了.做个php文件,包含在要想在设置权限的地方判断一下就行了.
* 验证用户是否登陆
* @todo 需要实现
*/
function auth(){
if(isset($_SESSION[WEB_USER_SESSION_NAME])){
$user = $_SESSION[WEB_USER_SESSION_NAME];
if($user->user_type == WEB_USER){
$this->login_user = $user;
return;
}
}
redirect_lang(WEB_USER_PATH.'/user/logout');
}
不知道能不能帮你参考
if(没有登录-可用cookie或session验证) die("你没有登录,请登录");
?>
<?php
session_start();
if($_SESSION["username"]=='' || $_SESSION["username"]==null)
{
echo"<script>alert('你没有登录,请先登录吧');window.location='login1.php';</script>";
return ; }
?>然后我在每个页面
直接include("filterLogin.PHP");效果是出来啦,但总会到页面上打印出警告信息,我不知这样做的是否正确,请帮我指点指点好吗?
<?php
session_start();
if($_SESSION["username"]=='' ¦ ¦ $_SESSION["username"]==null)
{
echo" <script>alert('你没有登录,请先登录吧');window.location='login1.php'; </script>";
return ; }
?> 然后我在每个页面
直接include("filterLogin.PHP");效果是出来啦,但总会到页面上打印出警告信息,我不知这样做的是否正确,请帮我指点指点好吗?
<?php
session_start();
if($_SESSION["username"]=='' ¦ ¦ $_SESSION["username"]==null)
{
echo" <script>alert('你没有登录,请先登录吧');window.location='login1.php'; </script>";
return ; }
?> 然后我在每个页面
直接include("filterLogin.PHP");效果是出来啦,但总会到页面上打印出警告信息,我不知这样做的是否正确,请帮我指点指点好吗?
session_start();
if(!isset($_SESSION["username"]) || empty($_SESSION["username"]))
{
echo" <script>alert('你没有登录,请先登录吧');window.location='login1.php'; </script>";
return ;
}
?>测试一下,看是否解决问题
http://test/index.php/程序名1/程序名2/程序名3/程序名或者是魔板名.html
http://test/index.php?mod=处理程序路径名&a=其他请求等
如果全部都用过滤器的话效率不高