我使用java脚本制作了fire fox附加组件。我想为这个附加组件提供密码保护。我在哪里可以永久存储用户密码?我怎么能这样做?
答案 0 :(得分:0)
最佳解决方案是存储在外部存储上。就像网站一样。您发送身份验证数据,服务器检查用户并返回true或false。这有一些问题。如果您想限制非注册用户的部分加载项,那是不可能的。整个代码可供用户使用,他可以修改它。
如果您创建网站特定的添加/搜索数据(最有可能在网站的cookie和首选项中),这对于单个用户来说是一个秘密,不可预测,独特和统一的。您可以将其哈希并将其用作密码。以及该特定网站的用户名。这样就可以避免注册。
通过HTTP的服务器通信不太安全,但是,大多数网站仍在使用它。
如果您没有可用的外部服务器,您可以使用像SQLite这样的本地存储,或者您只有一个密码可以使用preferences,这些密码也可以在about:config下使用。但这些远非永久性的。它一直存在,直到用户重新安装操作系统,不幸的是这很常见。
如果你想让闭源隐藏存储模式,哈希生成或类似XP-COM组件之类的东西可能对你有所帮助,但我不建议这样做,因为它很难维护(所有平台上的所有版本)。
答案 1 :(得分:0)
如果需要密码来验证用户对服务器的身份,那么您应该使用nsILoginManager来存储它。如果用户定义主密码,密码将以加密方式存储在磁盘上。如果要保护扩展程序的用户界面不受用户的影响,那么存储密码的位置无关紧要 - 这种保护仅适用于没有经验的用户。例如。您可以使用Preferences来存储它。