PHP的SESSION问题请教 难道你的管理页没有对session进行判断?为防止被攻破,一般管理页都需要加入对用户名密码的验证,不要仅仅通过判断一个变量就认为是合法用户。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然有进行检验呀,我意思是,比如进去管理页后,当前的地址为A,如果其他人记下了连接A,COPY下来,即使当前操作者退出系统回到管理登陆页,其他人将A连接粘贴,回车后,居然会进到去呀,WHY? 注销掉session了不可能进去的呀,你那可以进去?再刷新一下看看?可能是哪里书写有问题 php.ini 中 session.cookie_lifetime 设置成什么的?按说注销掉就应该没了,除非没有成功注销,写个代码测试一下 可能是session的文件没有正确删除 echo "<TITLE>用户登录成功</TITLE>"; echo "欢迎".$name.",您已经登录成功!<br>"; session_register("name"); $_SESSION['name']=$name; echo"<a href=http://www.cirrt.com>返回首页</a>";//这个是登陆成功后注册session的,下面是保护页面判断的<?php session_start();if(!session_is_registered("name"))//if(!$_SESSION['name']){//没有的话就得退回去登陆header("Location:http://www.cirrt.com/member/login.htm");}else {?><html><head>//下面就是受保护页面的内容.....我没有用destroy session,也能达到保护的目的.... 我的程序为checklogin.php检查登陆者是否合法session_start();require("../include/connect.php");require("../include/user.php");$username=trim($_POST["username"]);$password=trim($_POST["password"]);$user=new user();//判断是否登陆成功if ($user->isuser($username,$password)){$opername=$user->getusername();session_register("opername");header("Location:admin_main.php");}logout页:$_SESSION["opername"]="";session_unset();session_destroy();登陆后的管理页面A中:<?session_start();if (!session_is_registered("opername")){$msg="对不起,您无权进入,请先登陆";header("location:../include/errormsg.php?msg=".$msg);exit;}但还是不行呀,只要在管理页A中COPY下地址,之后LOGOUT,退到登陆界面,再把登陆地址粘贴,不用登陆就进入了A页面咯,WHY? 你下面的“如果session_is_registered("opername"))有效的判断语句”呢?还有你的管理页登陆成功的地址格式也贴上来,哪个地址肯定能够跳过检测(或者你把这个地址字符串发到别的电脑上试试,我怀疑cookie作祟) if session有效的话,则显示HTML的管理界面咯 logout页面session没打开,加上session_start(); 正则表达式难题 在一个页面下点击“添加”按钮 在该页面的下方出现输入框 填写相关信息 保存后在页面上方的数据同时更新 求完美解答sql查询语句 怎样填充select,javascript高手请进 关于弹出窗口表单的问题 急招一名PHP工程师,高手请进:) 如何检测邮件是否发送成功? 请教!!怎么样才能定时打开某个页面或是执行某个函数 苦恼!!郁闷!!! 怎样在php中执行SQL替换字段并且递增 如果一部机没有网卡,没有本地连接,会对PHP+APACHE+MYSQL的使用有影响吗? 请给写 PHP的 电子书下载连接好吗?谢谢
连接A,COPY下来,即使当前操作者退出系统回到管理登陆页,其他人将A连接粘贴,回车后,
居然会进到去呀,WHY?
可能是哪里书写有问题
按说注销掉就应该没了,除非没有成功注销,写个代码测试一下
session_register("name");
$_SESSION['name']=$name;
echo"<a href=http://www.cirrt.com>返回首页</a>";
//这个是登陆成功后注册session的,下面是保护页面判断的<?php session_start();if(!session_is_registered("name"))
//if(!$_SESSION['name'])
{
//没有的话就得退回去登陆
header("Location:http://www.cirrt.com/member/login.htm");
}
else {
?>
<html>
<head>
//下面就是受保护页面的内容.....我没有用destroy session,也能达到保护的目的....
checklogin.php检查登陆者是否合法
session_start();
require("../include/connect.php");
require("../include/user.php");
$username=trim($_POST["username"]);
$password=trim($_POST["password"]);
$user=new user();
//判断是否登陆成功
if ($user->isuser($username,$password))
{
$opername=$user->getusername();
session_register("opername");
header("Location:admin_main.php");
}logout页:
$_SESSION["opername"]="";
session_unset();
session_destroy();登陆后的管理页面A中:
<?
session_start();
if (!session_is_registered("opername"))
{
$msg="对不起,您无权进入,请先登陆";
header("location:../include/errormsg.php?msg=".$msg);
exit;
}但还是不行呀,只要在管理页A中COPY下地址,之后LOGOUT,退到登陆界面,
再把登陆地址粘贴,不用登陆就进入了A页面咯,WHY?