我想转而使用Cookie进行身份验证,我已经提出了以下代码,并希望在我的user_check.php
页面中提供类似的内容。
$username = $_POST['username'];
$ClientIP = $_SERVER['REMOTE_ADDR'];
date_default_timezone_set('Europe/London');
$date = date('m/d/Y h:i:s a', time());
$LoginAudit = $Con->prepare("INSERT INTO loginaudit ('ID', 'emailaddress, 'date') VALUES ('', '$username', '$date'");
$LoginAudit->execute();
setcookie("LoginAuthentication", $username , time()+3600);
header("location:member_area.php");
我的脚本检查cookie是否已设置?
setcookie("LoginAuthentication", $username , time()+3600);
if (!isset($_COOKIE['LoginAuthentication']))
{
/// Re-direct To Main Menu
break;
}
我无法弄清楚为什么我的网站脚本没有选择我的Cookie LoginAuthentication并自动登录?
答案 0 :(得分:1)
使用cookie是一个非常糟糕的主意,因为cookie是可编辑的和/或可以随时创建,其中包含任意信息(如PeeHaa所述)。
您应该关注PHP 会话。 使用PHP会话,所有变量都存储在服务器上并链接到会话ID。此会话ID在每个会话开始时创建,并(通常)存储在cookie中。
这往往是一种更安全的方法,因为特定会话ID是唯一的,并且客户端不存储数据(会话ID除外)。
参考文献: