Using Apache's main config file (or at a per-directory level using a
.htaccess file), you need to black all .jpg, .jpeg, .gif, .png, .bmp, etc
etc files from being *directly* served via http.

I'm not too good with Apache yet, but an example would be:

<Files ~ "\.jpg$">
    Order Allow,Deny
    Deny from all
</Files>
<Files ~ "\.gif$">
    Order Allow,Deny
    Deny from all
</Files>
<Files ~ "\.jpeg$">
    Order Allow,Deny
    Deny from all
</Files>
<Files ~ "\.bmp$">
    Order Allow,Deny
    Deny from all
</Files>

(you might also choose to block everything in imageDir/, which would also
include the xml file)



Then you need to create a script called image.php which:

a) accepts file=xxxx.xxx in the URL ($_GET)
b) sets the appropriate image header
c) passes the image file though

Instead of you calling
<img src='imageDir/picture.jpg' />

You would call
<img src='image.php?file=imageDir/picture.jpg' />


You also need to ensure that users can't directly call image.php?file=
picture.jpg in the browser, which can also be done with apache / .htaccess
files.


<Files ~ "\image.php$">
    Order Allow,Deny
    Deny from all
</Files>



There's plenty of examples of passing images through in the manual... in
particular one of the user-contributed notes by "lists at darkcore dot net
08-Aug-2002 03:24" at http://php.net/header looks about right.


Justin


on 16/02/03 3:24 AM, Michael Mulligan ([EMAIL PROTECTED]) wrote:

> Perhaps you could further describe such a method? I'm sorry, I just don't
> quite see how this will block the files. Perhaps I should further explain my
> situation.
> 
> The script that I will distribute will always make use of a very particular
> directory structure. In "imageDir", there will always be a specifically
> named XML file that points to a bunch of images in the directory. However,
> given security checks that I put in my script, not all of those images
> should be publicly viewable. However, if a savvy user were to just load this
> XML doc up in their web browser, they will have a complete listing of URLs
> to all of my images. I cannot modify this XML file.  (which is why I want to
> block a user from loading, say myserver.com/imageDir/picture.jpg)
> 
> Will your proposed idea still work in this situation?
> 
> Thanks for your help and patience in this matter. :-)
> 
> On 02/15/03 11:09 AM, "Marco Tabini" <[EMAIL PROTECTED]> wrote:
>> Only if you let them. The PHP script allows to put the appropriate
>> checks in place. For example, if you use sessions, you can verify that
>> the session is still valid and that the user has, indeed, the right to
>> access that image. At a later time, even if another user types in the
>> same URL but does not have a valid session (or a variable inside the
>> session that contains the right data), you would be able to block him
>> from reading the image.
>> 
>> Cheers,
>> 
>> 
>> Marco
> 
> 
> -m^2
> 
> __________
> Hi! I'm a .signature virus! Copy me into your ~/.signature to help me
> spread!
> __________ 
> 
> 


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to