在Session_start()上使用PHP Cookie

时间:2012-12-20 21:04:29

标签: php cookies

我想转而使用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并自动登录?

1 个答案:

答案 0 :(得分:1)

使用cookie是一个非常糟糕的主意,因为cookie是可编辑的和/或可以随时创建,其中包含任意信息(如PeeHaa所述)。

您应该关注PHP 会话。 使用PHP会话,所有变量都存储在服务器上并链接到会话ID。此会话ID在每个会话开始时创建,并(通常)存储在cookie中。

这往往是一种更安全的方法,因为特定会话ID是唯一的,并且客户端不存储数据(会话ID除外)。

参考文献: