编程语言
首页 > 编程语言> > javascript-如何在不注册的情况下记住用户

javascript-如何在不注册的情况下记住用户

作者:互联网

我希望在我的网站上记住用户,但是我没有任何形式的注册.我希望用户在首次访问该网站时选择一个用户名,然后针对该用户的其他所有请求,我都希望记住该用户名.我尝试了这个

由于用户无法使用Facebook或电子邮件或其他任何方式进行注册,因此我无法找到一种记住用户的方法.因此,我将用户的用户名与他的IP地址进行了映射,并将其保存到数据库中.因此,来自该IP地址的后续请求将告诉我“它是哪个用户”.但是后来我知道重置调制解调器/连接时IP地址可以更改.对于静态IP地址,您必须付费给ISP.然后,我可以肯定大多数用户都具有动态IP地址.

那么,有没有办法做到这一点?我了解Cookie和会话,但我认为这不是最好的方法.可能是我错了.我只想知道世界上的大型企业如何解决此类问题.也许,有什么更好的解决方案可以做到这一点?请给我指示.

添加:

基于答案,如果我基于cookie进行操作,那么从浏览器中删除cookie时,不会删除用户历史记录吗?而且,如果用户使用不同的浏览器从同一台PC登录,是否会多次要求他输入用户名?

解决方法:

不要依赖IP地址.使用无限的cookie.在jQuery中,您可以将cookie设置为如下所示的过期时间(显示20年有效期-足够!):

$.cookie('my_cookie', 'my_value', { expires: 365 * 20 });

如果您担心用户清除cookie,则另一种有趣的方法是询问电子邮件地址(仅电子邮件,无密码).然后,您可以通过电子邮件将该用户的链接发送回您的网站,并在URL上附加一个访问令牌,以对该用户进行身份验证-并将其再次存储在无限cookie中.这样,您始终可以在无需正式注册的情况下对用户进行身份验证.

编辑:再次阅读您的问题,似乎您正试图仅根据用户告诉您的用户名来记住该用户的帐户.这不是一种安全的方法,还会导致帐户丢失.您将需要在服务器上保存某些内容,无论是唯一的令牌,密码还是电子邮件地址.

标签:web,session-cookies,html,javascript,php
来源: https://codeday.me/bug/20191122/2056229.html