session的安全? 如果没错的话,那个很长的“数字”就是SessionID吧。知道一个客户端是怎样在服务器确定是哪个session文件的吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个是我的 session_check.php 感觉还是比较安全的*********************************************<?phpsession_start();?><LINK HREF="/include/style.css" REL="stylesheet" TYPE="text/css"><?phpif(!(session_is_registered("USERNAME"))){ echo "<script lanugage=\"javascript\">\n"; echo "alert ('对不起,请您首先登录!');\n"; echo "location=\"/\";\n"; echo "</script>"; exit();};?> 谢谢sandj(不了)我先试一下。 还是不行,我是这样做的:首先在登陆页面注册一个SIDsession_start();session_register("my_var");然后进入check.php代码如下:<LINK HREF="/include/style.css" REL="stylesheet" TYPE="text/css"><?phpif(!(session_is_registered("my_var"))){echo "<script lanugage=\"javascript\">\n";echo "alert ('对不起,请您首先登录!');\n";echo "location=\"/\";\n";echo "</script>";exit();}else{echo "成功登陆";};?>但是当我把“http://localhost/check.php?PHPSESSID=e477d3728197fcb4bfd61c37409c327b”复制下来,把IE关掉,再另外开一个,把URL粘贴上去,还是写着“成功登陆”。 如果关掉IE,session是会过期的,必须重新登陆。看看你的程序判断流程是否有错?? 请 hbolive(紫月亮)指点! PHPSESSID意思这么明白的一个变量... 你把这个变量的数据传给一个页面,告诉服务器,我要用PHPSESSID指向的session物理文件里的数据。他,他能找不到session的数据吗? 楼上的老兄,拜托我学PHP才一个多星期。 老兄,我给你一个URL,那上面说可以用直接调用"PHPSESSID=e477d3728197fcb4bfd61c37409c327b"的。http://phpuser.com/tips_and_tricks/detail.php?id=45 嘿嘿~~~php中使用session的原理是就是这样的。服务器就是靠SessionID来确定哪个客户端是用哪个session文件里的数据的。当然这个SessionID可以靠cookie来保存,也可以直接在url中传递。你就是使用了后面这个方式来维持了server和client之间的通信。 那么说“http://phpuser.com/tips_and_tricks/detail.php?id=45”里面说的肯定是错了?谢谢你的指导。 你到底有没有明白PHPSESSID是什么?那篇文章我看了,跟你说的问题没有关系啊~ 前几天才把数据库建好,这才开始接触PHP,所以难免说外行话,请原谅。不过我想搞清楚“http://phpuser.com/tips_and_tricks/detail.php?id=45”和我现在的代码到底有什么区别?我觉得一个只是用的是“echo "<script lanugage=\"javascript\">\n";”,而另一个用的是超链接。请斑竹指点。 没有本质上的区别。关键是你复制url的时候不能把sessionID也复制下来,因为那样的话新开的ie和你本身那个就没有区别了。你提到的安全性是别人知道url,但是他能知道那么一大长串的sessionID数据吗?只要他猜不到那串字符,他就不能使用那个session里保存的数据呀~ to:zxyufan(宇凡)你这样说有点误导,如果真想让session失效,可以用session_destroy()函数来结束,那样即使他复制或者刷新也没有用。还有点建议,做为斑竹要帮助大家尽量把问题搞清楚,我看你回答很多人的问题都很含糊!(一点建议,希望不要生气) 我也有类似的困惑在IE关闭时Session文件(服务器上的)并没有被删除需要在脚本中执行session_destory()why?ASP就不用是不是因为用的是CGI方式? 你的sessionID用的是url传递的这样可以防止客户机不支持cookie的情况服务器上的session存储是有时间限制的安全你不用担心用session_destory可以显式的把服务器上的session文件删除 Imagick扩展安装好了,但不会用 PHP 全局常量 PHP网页怎样写才比较安全? 求mysql语句, 我想做一些php方面的主题开发,各位大侠推荐一个开发工具? PHP+ACCESS读取不到数据 但是可以插入 求一个函数,能够简单加密url.写好后我另加一百.谢谢 PHP中遇到AJAX的问题 globals的作用 setcookie传递变量设置问题??? 宇凡,问一下你现在在那里做事呀? 宇凡,是否可以把你女朋友的照片贴出来啊
*********************************************
<?php
session_start();
?>
<LINK HREF="/include/style.css" REL="stylesheet" TYPE="text/css">
<?php
if(!(session_is_registered("USERNAME")))
{
echo "<script lanugage=\"javascript\">\n";
echo "alert ('对不起,请您首先登录!');\n";
echo "location=\"/\";\n";
echo "</script>";
exit();
};
?>
我先试一下。
首先在登陆页面注册一个SID
session_start();
session_register("my_var");
然后进入check.php代码如下:
<LINK HREF="/include/style.css" REL="stylesheet" TYPE="text/css">
<?php
if(!(session_is_registered("my_var")))
{
echo "<script lanugage=\"javascript\">\n";
echo "alert ('对不起,请您首先登录!');\n";
echo "location=\"/\";\n";
echo "</script>";
exit();
}
else
{echo "成功登陆";
};
?>
但是当我把“http://localhost/check.php?PHPSESSID=e477d3728197fcb4bfd61c37409c327b”
复制下来,把IE关掉,再另外开一个,把URL粘贴上去,还是写着“成功登陆”。
指点!
谢谢你的指导。
那篇文章我看了,跟你说的问题没有关系啊~
不过我想搞清楚“http://phpuser.com/tips_and_tricks/detail.php?id=45”和我现在的代码到底有什么区别?
我觉得一个只是用的是“echo "<script lanugage=\"javascript\">\n";”,而另一个用的是超链接。
请斑竹指点。
那样即使他复制或者刷新也没有用。还有点建议,做为斑竹要帮助大家尽量把问题搞清楚,我看你回答很多人的问题都很含糊!
(一点建议,希望不要生气)
在IE关闭时Session文件(服务器上的)并没有被删除
需要在脚本中执行session_destory()
why?ASP就不用
是不是因为用的是CGI方式?
这样可以防止客户机不支持cookie的情况
服务器上的session存储是有时间限制的
安全你不用担心
用session_destory可以显式的把服务器上的session文件删除