Re: How To Limit FIle Uploader Against Hijackers?
| From: | Michael A. Peters | Date: | Sat, 30 May 2009 20:02:22 +0000 |
| Subject: | Re: How To Limit FIle Uploader Against Hijackers? | ||
| References: | 1 2 3 4 5 6 7 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-293392@lists.php.net to get a copy of this message | ||
Nitsan Bin-Nun wrote:
On Sat, May 30, 2009 at 7:02 PM, Ashley Sheridan <ash@ashleysheridan.co.uk <mailto:ash@ashleysheridan.co.uk>> wrote:people toOn Sat, 2009-05-30 at 17:54 +0200, Nitsan Bin-Nun wrote:That's the verification that my layer does. I'm not sure whetherthat'senough or not. On Sat, May 30, 2009 at 4:43 PM, Michael A. Peters<mpeters@mac.com <mailto:mpeters@mac.com>> wrote:Nitsan Bin-Nun wrote: On Sat, May 30, 2009 at 3:26 PM, Michael A. Peters<mpeters@mac.com <mailto:mpeters@mac.com><mailto:mpeters@mac.com <mailto:mpeters@mac.com>>> wrote: Nitsan Bin-Nun wrote:HiI have wrote a file uploader in PHP, and I don't want
directory up fromhijack it (get direct links, download whenever they want, etc).Currently I have placed the uploaded files one
serve themthe www root, and I'm hosting the files mime type in order to
don'ton the fly.I'm trying to think how should I secure this website, I
$_SERVER['refer']want people to get direct links,etc.Currently the links are being check with the
of loadvariables and it being compared to the one in my config file.Any ideas will be very appreciated! Thanks!By the way, does this file serving feature takes a lot
serve thesefrom the server? if so then what are the other options? can I
module orfiles w/o PHP involved? lets say only by some sort of apache
anything like that? What I do - Files for restricted access are outside the web root. php wrapper script verifies the credentials of user to
download thefile (IE via a post token, session ID, etc.) and if
allowed, it thensends the real file. I use mod_rewrite (apache) to send requests for the real
file to thephp wrapper script so that the linked file has the same
name as thereal file (lets me use the same wrapper for lots of
different files).As far as load on the server, no - I don't think it costs a
lot asfar as system resources. Thank you for the fast answer. I'm doing the same regarding the php wrapper layer, but the
thing is thatI just don't know what verification exams should I do in the
php wrappinglayer. I'm not sure what is the way that it should be done. I check the referrer, assuming no other credential is required,
if it isfrom an approved site or not sent (some people disable sending the http_referrer in their browser), I allow it. Otherwise I don't.
That should be fine for downloading files. There will be an issue if
they are media files and you want to play them from a browser plugin, as
no plugin I've ever seen actually passes the referrer header.
Ash
www.ashleysheridan.co.uk <http://www.ashleysheridan.co.uk>
I'm sending downloading headers, there will be no options of playing it from the browser's plugin.
Thank you both for your comments. I have decided that referrer check is enough for now :)
Nitsan
If you really want to be sure, you can use session variables with a download wrapper.