Home » Php » php – How to show an image which is secured by http authentication

php – How to show an image which is secured by http authentication

Posted by: admin July 12, 2020 Leave a comment

Questions:

How can i show an image from a server with standard http protection without showing the authentication window?

I now use standard html

<img src="...">

but because the image is protected this asks for an authentication window. I do have the login data, how can i show the image?

Regards, Tom.

How to&Answers:

This should work. Simply replace the username and password with your authentication details. (Warning: Doesn’t work in all browsers)

<img src="http://username:[email protected]/Path" />

I would recommend putting this in a separate file on your server. That way you can reference it without exposing the authentication info.

Answer:

I used IrishGeeks tip to get a solution. It works on all browsers. The script.php is

<?php
$url    = $_GET['url'];
$c = curl_init($url);
$authString = 'user:pass';
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_USERPWD, $authString);

$content = curl_exec($c);
$contentType = curl_getinfo($c, CURLINFO_CONTENT_TYPE);
header('Content-Type:'.$contentType);
print $content;
?>

Then use

<?php
print '<img src="script.php?url='.urlencode('http://www.example.com/image.bmp').'" />';
?>

To get the image.