服务器端的 CURL HTTP 身份验证
2022-08-31 01:11:30
我正在使用Zend构建Web服务,在向用户发送响应之前,我必须对用户进行身份验证。用户将使用 curl 向服务器页面发送请求,以curl_setopt($curl, CURLOPT_USERPWD, 'key:pass')
;
Iam使用Zend框架,因此服务器端页面表示如下:
http://www.example.com/app_name/public/controller/action/parameter
以下是用户请求(客户端.php)的总代码:
<?php
$curl = curl_init('http://www.example.com/app/public/user/add/1');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERPWD, 'username:password');
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Sample Code');
$response = curl_exec($curl);
$resultStatus = curl_getinfo($curl);
if($resultStatus['http_code'] == 200) {
echo $response;
} else {
echo 'Call Failed '.print_r($resultStatus);
}
?>
现在我想要的是,我必须能够在服务器端(在我的zend控制器中)检索用户名和密码,以便我可以验证数据库中的用户凭据并相应地发送响应。那么我该如何在另一个页面中进行身份验证?