PHP cURL Basic Authentication Alternatives for CURLOPT_HTTPHEADER & CURLOPT_USERPWD...?

authentication, authorization, basic-authentication, curl, php

Solution

What makes you think `CURLOPT_HTTPHEADER` is disabled for security reasons?

It accepts an array rather than a string. Try this instead:

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

Problem

Are there any alternatives to using CURLOPT_HTTPHEADER & CURLOPT_USERPWD for supplying Basic Authentication for cURL PHP? I have a super long password, so CURLOPT_USERPWD wont work as it truncates at 256 characters. ``` curl_setopt($data, CURLOPT_USERPWD, $username . ":" . $password); ``` And I would like to stay away from using CURLOPT_HTTPHEADER for security reasons. ``` curl_setopt($data, CURLOPT_HTTPHEADER, "Authorization: Basic " . base64_encode($username . ":" . $password)); ``` Any alternatives?

Original source