2012-11-30 29 views
7

是否有任何替代方案使用CURLOPT_HTTPHEADER & CURLOPT_USERPWD为cURL PHP提供基本身份验证?PHP cURL CURLOPT_HTTPHEADER&CURLOPT_USERPWD ...的基本身份验证替代方案?

我有一个超长的密码,所以CURLOPT_USERPWD不会工作,因为它在256个字符截断。

curl_setopt($data, CURLOPT_USERPWD, $username . ":" . $password); 

我想远离使用CURLOPT_HTTPHEADER出于安全原因。

curl_setopt($data, CURLOPT_HTTPHEADER, "Authorization: Basic " . base64_encode($username . ":" . $password)); 

任何替代品?

+0

你可以通常将其附加到您的URL作为参数,尽管可能需要强制执行HTTPS而不是HTTP –

回答

8

是什么让你觉得CURLOPT_HTTPHEADER由于安全原因被禁用?它接受一个数组而不是一个字符串。试试这个:

curl_setopt($data, CURLOPT_HTTPHEADER, 
      array(
       "Authorization: Basic " . base64_encode($username . ":" . $password) 
)); 
+0

对不起编辑后,以澄清。 –

+1

我没有看到使用该选项的任何安全问题,为什么你想避免它?最终结果是完全一样的。 – drew010

+0

我希望我可以使用它,但最终它在我们的卷曲实现中被禁用。 –