Google Chrome 似乎根据每个站点保存密码,但我正在开发一个站点,我想根据访问的目录获得不同的 http 身份验证详细信息,并让 Chrome 记住这一点。
也就是说,http://example.com/a和http://example.com/b有不同的 http 用户/密码组合。我希望 Chrome 能够记住这两个组合,这样当我输入http://example.com/a我使用 /a 的相应用户名/密码组合进行访问,/b 也是如此。如果我使用 Chrome 的内置功能保存密码,浏览器会同时保存以下用户名/密码组合:http://example.com全局的,并且不记得根据地址使用哪一个,而是默认使用其中一个来访问任何地址http://example.com
除了为每个目录设置不同的子域之外,还有其他方法可以解决这个问题吗?
答案1
如果为不同的子文件夹指定不同的领域,Chrome 将正常运行,例如这在 nginx 中运行良好:
location /gabinete-rivera {
auth_basic "Hijos de Rivera";
auth_basic_user_file /home/www/public/gabinete-rivera-app/.htpasswd;
index index.php index.html;
try_files $uri $uri/ /index.php?$query_string;
}
location /gabinete-gases {
auth_basic "Gases Fluorados";
auth_basic_user_file /home/www/public/gabinete-gases-app/.htpasswd;
index index.php index.html;
try_files $uri $uri/ /index.php?$query_string;
}
答案2
构建一个简单的 chrome 插件,可以使用表单 ID 或名称并获取数据(如果只是用户名和密码)并在每次单击提交时存储它。存储可以是几乎没有加密或没有加密的离线文本文件。或者以某种方式使用 passwords.google.com 的一些 API 并手动存储它。这样 chrome 就会从您的 Google 帐户中获取密码。替代方案:将(漏洞)JavaScript 引入网站并将其发送到 passwords.google.com 以使用 API(如果可用)进行存储。