PHP setcookie无法正常工作

ica*_*ant 0 php setcookie

看起来它应该工作:

if ($_POST['stayloggedin'] == 'stayloggedin') {

    setcookie("user", $_POST['mail'], time()+7*24*60*60, '/', 'subdomain.example.com', false, true);
    setcookie("hash", md5(sha1(md5($_POST['pw']))), time()+7*24*60*60, '/', 'subdomain.example.com', false, true);

}

header("Location: /"); 
exit();
Run Code Online (Sandbox Code Playgroud)

我把ob_start()放在代码之上,所以这不应该是重点.

Kev*_*ida 13

确保你的php.ini文件允许使用cookie.此外,你不应该将敏感数据存储在cookie或会话变量中.

建议:改为存储唯一的ID,然后在数据库中查询用户名和密码等详细信息.你只是要求以你的方式进行黑客攻击.

不要消极,只是一个有用的预防性提示.


Zak*_*nry 5

setcookie()调用函数之前,请确保没有向浏览器发送任何输出.ob_start()应该停止"之前输出setcookie()"错误,但可能无法正确实现.

  • 我在setcookie之前发送输出我的bug所以这个建议是一个有用的暗示.谢谢 (2认同)