Search code examples
phphtmlimagehttp-authentication

How to show an image which is secured by http authentication


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.


Solution

  • 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.