javascript - 在网络应用程序中识别用户的最佳方法

标签 javascript web-applications user-identification

我想做一个与其他用户交互的网络应用程序,但我不希望用户使用登录名和密码进行注册(例如 BrowserQuest )。

然后,我想到使用一个带有存储在本地存储中的随机数的变量。但我认为这是不安全的,因为如果有人分析我的代码,并查看名称存储在哪个变量中,然后写入 URL:

javascript:localStorage["variableWhereNameIsStored"]="nameOfSomeoneElse";void(0);

他可以窃取他的帐户。

然后我想到了每台 iPhone/iPod/iPad 的唯一 ID。但在 javascript 中,我们无法访问它:Get iphone ID in web app 。也有IP,但不可靠。还有cookie,但这里用户也可以使用注入(inject)。

在我的网络应用程序中识别用户的最佳方式是什么?

最佳答案

一种解决方案是为每个人提供一个只有他们自己知道的唯一 session ID(可能以 Cookie 形式)。这会将它们连接到后端的用户 ID。

另一个解决方案是将 cookie 中的用户 ID 设置为签名 cookie。同样,这取决于您的后端,但您可以在这里看到 python 解决方案:http://webpython.codepoint.net/mod_python_publisher_cookies_signed .

关于javascript - 在网络应用程序中识别用户的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10963857/

相关文章:

javascript - 根据样式表函数更改链接颜色

javascript - 404 使用 attach() 时 Strophe 中的 SID 值无效

javascript - 如何从 pug 文件中调用 javascript 函数?

database-design - 针对特定用例的 MongoDB 模式设计

maven - log4j2不登录部署在tomcat上的webapplication

android - 无密码应用程序登录

javascript - 使用钛合金时如何向 iOS 应用程序添加 rightNavButton?

web-applications - 在分布式应用程序中管理 session

c# - Environment.UserName 返回应用程序池名称而不是用户名