我目前正在开发一个网站,我面临以下问题:
我尝试将用户 ID 和密码传递到登录页面并使用脚本自动提交页面,这会将用户带到下一页。这只是为了绕过我网站中的登录页面。这工作得很好。
在 Mozilla Firefox 浏览器上启用“无脚本”插件时,自动提交表单的脚本不起作用。结果,登录页面将显示给具有填写的用户 ID 和密码的用户。
此外,有时当我们自动提交登录页面时,用户能够在前端看到登录页面。
有没有可能的方法来克服这两个问题?
我目前正在开发一个网站,我面临以下问题:
我尝试将用户 ID 和密码传递到登录页面并使用脚本自动提交页面,这会将用户带到下一页。这只是为了绕过我网站中的登录页面。这工作得很好。
在 Mozilla Firefox 浏览器上启用“无脚本”插件时,自动提交表单的脚本不起作用。结果,登录页面将显示给具有填写的用户 ID 和密码的用户。
此外,有时当我们自动提交登录页面时,用户能够在前端看到登录页面。
有没有可能的方法来克服这两个问题?
像您现在所做的那样重定向用户的浏览器实际上只有使用 Javascript 的客户端才有可能,它总是能够被阻止。您可以将 user_id 和密码存储在会话变量中,并在处理实际身份验证的登录页面上访问该数据。这样做可以消除自动提交表单的需要。
但是如果你真的想使用表单发布,你可以使用 cURL 用 PHP 模拟表单发布,但这有点复杂。
在我的网站上,如果用户未登录,我会在每个页面加载时运行“tryCookieAuthentication”方法,检查是否设置了“记住我”cookie。如果它已设置并且一切看起来都合法,我会继续验证用户并让他登录。这样用户甚至不必触摸登录页面。我不知道这是否是你想要做的,但它可能会给你一个想法。
如果您在用户请求登录页面时已经知道 user_id 和密码,那么您可以发送一个位置标头