【发布时间】:2012-05-22 15:03:50
【问题描述】:
我正在尝试在我的网站上执行“记住我”并将以下代码添加到我的登录脚本中。
密码通过 sha1() 函数运行,用户名在分配给 SESSION 之前被修剪并通过 mysql_real_escape_string() 运行。
我怎样才能使它更安全,防止劫持。
谢谢。
if($_POST['remember']) {
setcookie("CookieUser", $_SESSION['usrename'], time() + 60 * 60 * 24 100, "/");
setcookie("CookiePass", $_SESSION['password'], time() + 60 * 60 * 24 100);
}
【问题讨论】:
-
你可以在php中使用
base64_decode()和base64_encode()函数 -
使其免受劫持/黑客攻击的一种方法是不将密码放入 cookie。就像 KoolKabin 所说,使用各种“因素”的标记或复杂算法的盐,然后使用它们。
-
您应该尽可能重用现有的身份验证框架,因为它确实很复杂。例如,看看github.com/delight-im/PHP-Auth
标签: php session cookies passwords