如何使用PHP自动提交表单

时间:2011-01-22 18:06:24

标签: javascript form-submit hidden-field autologin

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

我尝试将用户ID和密码传递到登录页面并使用脚本自动提交页面,这将使用户进入下一页。这只是绕过我站点中的登录页面。这完全没问题。

  1. 在Mozilla Firefox浏览器上启用“无脚本”添加后,自动提交表单的脚本无效。结果,登录页面将以填写的用户ID和密码显示给用户。

  2. 此外,当我们自动提交登录页面时,有时用户可以在前端看到登录页面。

  3. 有没有办法克服这两个问题?

2 个答案:

答案 0 :(得分:2)

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

但是如果你真的想使用表单发布,你可以使用cURL模拟PHP的表单帖子,但这有点复杂。

cURL on php.net

Sending post form data with PHP and cURL

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

答案 1 :(得分:1)

如果您在用户请求登录页面时已经知道user_id和密码,那么您只需发送一个位置标题