javascript - 如何使用 PHP 自动提交表单

标签 javascript form-submit hidden-field autologin

我目前正在开发一个网站,遇到以下问题:

我尝试将用户 ID 和密码传递到登录页面,并使用脚本自动提交页面,这会将用户带到下一页。这只是为了绕过我网站中的登录页面。这工作得很好。

  1. 在 Mozilla Firefox 浏览器上启用“无脚本”插件时,自动提交表单的脚本不起作用。结果,登录页面将显示给用户,其中包含填写的用户 ID 和密码。

  2. 另外,有时当我们自动提交登录页面时,用户也能够在前端看到登录页面。

有没有可能的方法来克服这两个问题?

最佳答案

像您现在所做的那样重定向用户的浏览器实际上只能在客户端使用Javascript,而Javascript总是可以被阻止。您可以将 user_id 和密码存储在 session 变量中,并在登录页面上访问该数据,该登录页面处理实际的身份验证。这样做将消除自动提交表单的需要。

但是如果您确实想使用表单发布,您可以使用 cURL 通过 PHP 模拟表单发布,但这有点复杂。

cURL on php.net

Sending post form data with PHP and cURL

在我的网站上,如果用户未登录,我会在每个页面加载时运行“tryCookieAuthentication”方法,检查是否设置了“记住我”cookie。如果已设置并且一切看起来合法,我将继续对用户进行身份验证并让他登录。这样用户甚至不必触摸登录页面。我不知道这是否是您想要做的,但它可能会给您一个想法。

关于javascript - 如何使用 PHP 自动提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4769580/

相关文章:

ios - 如何删除正在准备提交的应用程序 - iOS 8

php - 仅提交表单 php 中填写的字段

c# - 从 Javascript 访问 C# 变量?

javascript - 更新生命周期

javascript - 尝试将自定义网格添加到离线查看器

javascript - 使用 Javascript 将大文件上传到 Azure Blob

javascript - 有条件后如何返回?

javascript - 记住来自不同页面的表单字段的值

javascript - 如何将javaScript数组转换为字符串并存储在MVC中的隐藏字段中?

c# - 不使用 Base 关键字访问静态变量隐藏的实例变量