【问题标题】:How can I secure this user cookie?如何保护此用户 cookie?
【发布时间】:2013-04-25 19:25:55
【问题描述】:

所以我有一个用户登录网络,它会在登录时创建一个 cookie。我需要知道如何保护它,因为目前我可以编辑 cookie,它可以让我访问我将登录 cookie 更新到的任何用户名。这是现有的代码:

<?
$username = $_REQUEST['username'];
$goto = $_REQUEST['goto'];
$expdate = time() + 864000;

setcookie('loggedin',"$username",$expdate, "/");

echo "<META HTTP-EQUIV=Refresh CONTENT=\"0; URL='/$goto.html'\">";
?>

非常感谢任何帮助!谢谢!总的来说,我对 cookie 和 PHP 还很陌生。

【问题讨论】:

  • cookies 将始终可编辑 - 您的安全方法需要解决,请改用会话
  • 为什么不使用会话?
  • 如果我使用公共计算机(例如在图书馆),我将能够访问最后一个人的帐户
  • 您的脚本易受跨站脚本攻击:?goto="&gt;&lt;script&gt;…&lt;/script&gt;.

标签: php mysql security cookies session-cookies


【解决方案1】:

在 PHP 中,设置 cookie 的参数是通过“setcookie”函数上的一些可选参数来完成的:

setcookie( name, value, expire, path, domain, secure, httponly);

// Open
setcookie( 'UserName', 'Bob', 0, '/', '.example', false, false);

// Locked Down
setcookie( 'UserName', 'Bob', 0, '/forums', 'www.example.com', isset($_SERVER["HTTPS"]), true);

【讨论】:

  • 这与 OP 的要求无关。
猜你喜欢
  • 2014-08-07
  • 1970-01-01
  • 2011-08-24
  • 2012-09-25
  • 1970-01-01
  • 2012-05-03
  • 2021-05-07
  • 1970-01-01
  • 2011-10-02
相关资源
最近更新 更多