0

我想转而使用 Cookies 进行身份验证,我提出了以下代码,并希望在我的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 并自动登录?

4

1 回答 1

1

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

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

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

参考:

于 2012-12-20T22:08:41.233 回答