我的问题是:我有一个托管客户目录的在线服务。
此服务需要身份验证,但我只有一个用户名/密码。
相反,我的客户希望使用自己的用户/密码和访问统计信息分别管理每个用户。所以我所做的是建立自己的账户管理,到目前为止一切顺利。
我现在需要做的是添加一个登录表单,用户应该使用自己的凭据填写该表单;一旦发送,脚本应该继续进行身份验证,如果一切正常,增加访问计数,通过 POST 发送远程系统的登录数据并将浏览器重定向到响应页面,与普通表单一样。
我尝试使用curl
这种方式:
if (authenticate($_POST['usr'],$_POST['pwd'])) {
$url = "http://www.foo.com/login.php";
$postdata = http_build_query(array('username'=>"foo",'password'=>"bar"));
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_exec($curl);
curl_close($curl);
}
但我最终将目标页面的数据加载到我自己的页面中,而不是被重定向到该站点。
我应该怎么办?
PS 如果可能的话,我会避免使用通过 JS 提交的隐藏表单。
谢谢!