问下做个登陆系统用Cookie好还是session 好
那个安全?谁能给个比较好点的源码吗、
那个安全?谁能给个比较好点的源码吗、
解决方案 »
- 为什么运行后不显示
- php调用curl的毫秒级(CURLOPT_TIMEOUT_MS)超时设置小于1000时有问题
- php开发WAP
- Apache+PHP如何防止流媒体盗链?
- 用PHP中FTP函数直接将文件上传到另一台服务器的问题
- 请问大家:asp里request对象的BinaryRead方法在php里怎么用呢?有对应的方法吗?还有TotalBytes属性在php里怎么用阿?
- PHP换行问题,我在好多资料上说换行可以用\n,可是我总是试不通,
- 发现一个小问题,原来汉字也可以当做name名:)
- 救命啊!关于COOKIE的问题,特急!!!!求求各位大侠了解!!!
- 大神给写个简单的正则吧,学晕了,实在学不会
- phpexcel中如何设置单元格自动换行??
- 能不能按不同的按钮提交到不同的页面
1、session存在时,直接用session来记录登陆状态。
2、session不存在时,检查是不是有cookie,如果有,用当前的cookie去数据库验证一番,看看是不是正确的,如果是,根据这个cookie再生成一次session。
3、如果cookie也不存在了,重新登陆。
这种session认证方法比cookie的安全,且简单。
cookie的话提交数据会显示在url上,觉得不太安全,其他的楼上都说的很清楚了
<style type="text/css">
.STYLE2 {color: #000000}
</style>
<form id="form1" name="form1" method="post" action="">
<table width="40%" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#00CCFF">
<tr>
<td colspan="2" align="center" bgcolor="#FFFFFF">用户登录</td>
</tr>
<tr>
<td width="21%" bgcolor="#FFFFFF"><span class="STYLE2">用户名</span></td>
<td width="79%" bgcolor="#FFFFFF"><input name="user" type="text" id="user" /></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">密码</td>
<td bgcolor="#FFFFFF"><input name="pwd" type="password" id="pwd" /></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">验证码</td>
<td bgcolor="#FFFFFF" >
<div>
<div style="background-color:#47ff56; height=20px; width=60px;">
<input name="textfield3" type="text" size="8" />
</div>
<div style="background-color:#00CCFF; width=80px; margin-left:70px; margin-top:-20px;">
<? echo $yzm=rand(1000,9999); ?>
</div>
<div style=" margin-left:150px; margin-top:-17px;">
<?php
if(isset($_POST['yzm'])==flase){ if(strcmp($_POST['yzm'],$_POST['textfield3'])==0)
{
echo "";
}else{
echo "<font color=red>验证错误</font>";
}
}
?>
</div>
</div>
<input type=hidden name=yzm value=<? echo $yzm; ?>>
</td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit" value="提交" />
<input type="reset" name="Submit2" value="重置" /></td>
</tr>
</table>
</form>
admin_index.php
<?php
session_start();
if($_SESSION[zh]!=="admin")
{
header("location:login.php");
exit;
}
if(file_exists("admin.txt"))
echo " ";
else{
fopen("admin.txt",w);
}
$fp=fopen("admin.txt",r);
$dt=fgets($fp);
fclose($fp);
echo "管理员admin 你好,你上次登录的时间是$dt";
date_default_timezone_set("ETC/GMT-8");//设置东八区的时间
$mydate=date("Y年m月d日 H:i:s");
$fp=fopen("admin.txt",w);
fwrite($fp,$mydate);
fclose($fp);
?><hr>朱慧网站的后台管理页面