我希望我的网站有一个用户可以点击的复选框,这样他们每次访问我的网站时都不必登录.我知道我需要在他们的计算机上存储一个cookie来实现它,但该cookie中应包含哪些内容?
此外,是否存在常见错误,需要注意保持此cookie不会出现安全漏洞,这可以避免,同时仍然提供"记住我"功能?
我看到有几个.哪些是维护和易于使用?它们的优缺点是什么?
我注意到有几个Web服务(即Steam,Facebook,Google等)能够检测到新的浏览器/新位置,在某些情况下,要求我使用电子邮件代码对其进行验证.
他们是怎么做到的?他们使用饼干吗?还有其他方法吗?这有多可靠?
如何检测用户是否从"正常"环境登录,无论是同一浏览器,同一台计算机,相同的大致位置?
在记住我的 cookie时,有两种截然不同的方法:
哈希
的记得我的cookie存储能够识别用户(即用户ID)和一个字符串,可以证明被识别的用户是它伪装成一个字符串-通常是基于哈希的用户密码.
令牌
的记得我的cookie存储随机(无意义的),这与在一个记录对应但唯一的字符串标记表,用于存储用户ID.
哪种方法更安全,有什么缺点?
我正在构建一个访问私有 API 的 Web 应用程序。我正在使用的 API 使用基于 TLS 的 HTTP 基本身份验证。我的客户已请求 Web 应用程序的“记住我”功能,以便用户可以在给定设备上保持持久身份验证。
我的快速而肮脏的解决方案是Authorization在localStorage验证标题后将其存储。当然,如果可以不受限制地访问用户的设备,那么任何人都可以从中复制 auth 标头localStorage并将其解码以检索用户的登录名/密码组合。
除了整个设备受到损害之外,将此类敏感数据存储在localStorage. 是否localStorage可以作为敏感数据(例如密码)的存储库?如果没有,您将如何在单个浏览器会话之外将此类数据持久保存在用户设备上?
(我希望每个人都可以使用他或她的私钥......密码都是90年代的)
编辑阅读HTML5 localStorage security 后,似乎很明显敏感数据的存储localStorage通常是一个坏主意,但在这种情况下,身份验证持久性有什么更好的选择?
当我选中复选框时没有错误,但是当我没有选中复选框时它会给我错误.
<?php
if(isset($_REQUEST['btn']))
{
$remmber = $_REQUEST['active'];
if($remmber == "on")
{
echo "Checked";
}
else {$remmber = "";}
}
?>
<html>
<form name= "frm" action = "test.php" method = "post" >
<p>Username
<input type = "text" name = "name" value = "" />
</p>
<p>Password
<input type = "text" name = "password" value = "" />
</p>
<p>
<td colspan = "2"><input type = "checkbox" name = "active" value = "active" />Keep Me Loged In
</p>
<p><input type = "submit" …Run Code Online (Sandbox Code Playgroud) php ×2
security ×2
codeigniter ×1
cookies ×1
geolocation ×1
html ×1
ip-address ×1
javascript ×1
remember-me ×1