Daniel Yaÿfffffffffff1ez wrote:
Ok so I will use a dirty example since maybe this will be more clear. Lets asume that I cannot put images outside the root of my domain for the purposes that you explain. that only leaves me the option of using normal folders (ex. www.domain.com/images) to put my images in. Lets say Im running an ADULT website, where users have to pay to register, and then login to get access to the private pages. I am using php and sessions to verify that indeed the user exists in my database and that he is a valid user. Everything is perfect here. I then forward the user to a secure page. This secure verifies the existance of a valid session, and if so, then displays the content. If the session is not valid then it will redirect the user to another page asking him to login or whatever. This secure page contains a gallery of a beautifull girl. A gallery with pictures only registered members are allowed to see. one of the pictures has a url for example www.domain.com/images/kellyNaked.jpg. The registered user that is allowed to see that picture, can save the picture, print the screen, download it etc. I have no control over that I know. But my problem is that he shouldnt be able to send the link to a friend. nobody should be able to just type: www.domain.com/images/kellyNaked.jpg and have the image opened. Otherwise, why pay??? if a user figures out the folder structure then he could easily find the other pictures.
Now, all this about using a folder outside the 
root for private pictures was initially 
suggested because other people said they 
actually place fils outside the root that they 
wanted to be private and only be served by a 
page inside the server. Maybe this technique 
works only for code files (.php etc). Or at 
least thats what everyone in this newsletter is 
telling me. So then, my question was, how to 
deliver images (or other media files) that are 
supposed to be only accessible to registered 
users from a folder inside my root, without 
having the risk of people just linking to them 
directly. there is no way to prevent this 
obviously with any kind of php script, or java 
or anything. This has to be done by something 
(and I assumed it was apache) in the server. I 
was almost ready to start using .htaccess but 
then on the official apache website: 
http://httpd.apache.org/docs/1.3/howto/htaccess.html 
they suggest not using an .htaccess file because it slow down the
 server plus it is insecure.

My question to you guys now is different, what are the reccomended ways to have a secure folder in my website that will only deliver its content to users when it is requested by a script inside my serer? if it really has nothing to do with apache, then Im sorry, but I think it is a combination of a server language like php and apache...maybe Im wrong, but I would like any suggestions opinions you guys might have.
Thanks again, and sorry for so many questions, I 
hope I can get the answers to my questions or at 
least better ideas of where to look at.
Cheers !!
---------------- End original message. ---------------------

Please stop top-posting, it is rude and makes reading the replies in order a pain in the ass.
Now I think you are making some assumptions here 
that are wrong. You've got some of the ideas 
correct but you aren't putting them all together properly.
First, .htaccess is not the only access control 
scheme that has an impact on server performance. 
Any sort of authentication, whether done by 
Apache, a third-party module, or your script is 
going to impact server performance. The thing is 
that this is the price you have to pay to 
restrict access. The big hit with .htaccess is 
when it is used at multiple levels within a file 
tree. Each time an .htaccess file appears in the 
tree, it has to be accessed and verified by the server.
Second, .htaccess in and of itself is not 
necessarily insecure. How you use it and exactly 
where your .htaccess files live have a large 
bearing on just how secure your system will be. 
This is not a simple topic by any means. Nor does 
this touch on user passwords being weak and all 
sorts of other problems which are not unique to this scheme.
Third, putting the image files outside the server 
root prevents them from being served by Apache 
directly, this really is what you want to 
achieve. However, this means that something else 
has to serve them for Apache and this is 
generally done via some sort of script file that 
checks the authentication and then sends the 
requested image file. Apache can't serve anything 
it does not know how to get to and putting the 
files outside of the server root structure will 
prevent Apache from finding those files.
There are open source applications that do 
exactly what you want, the files get served by 
the scripts and are not directly accessible via 
the web URL space. Do a little searching and you 
can find examples of this sort of script.
So in summary, Apache by itself cannot do what 
you want. You have to do some scripting or 
install an application somebody else wrote that will do it.
Dragon

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Venimus, Saltavimus, Bibimus (et naribus canium capti sumus)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to