Re: How To Limit FIle Uploader Against Hijackers?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2009-05-30 at 17:54 +0200, Nitsan Bin-Nun wrote:
> That's the verification that my layer does. I'm not sure whether that's
> enough or not.
> 
> On Sat, May 30, 2009 at 4:43 PM, Michael A. Peters <mpeters@xxxxxxx> wrote:
> 
> > Nitsan Bin-Nun wrote:
> >
> >  On Sat, May 30, 2009 at 3:26 PM, Michael A. Peters <mpeters@xxxxxxx<mailto:
> >> mpeters@xxxxxxx>> wrote:
> >>
> >>    Nitsan Bin-Nun wrote:
> >>
> >>        Hi
> >>
> >>        I have wrote a file uploader in PHP, and I don't want people to
> >>        hijack it
> >>        (get direct links, download whenever they want, etc).
> >>
> >>        Currently I have placed the uploaded files one directory up from
> >>        the www
> >>        root, and I'm hosting the files mime type in order to serve them
> >>        on the fly.
> >>
> >>        I'm trying to think how should I secure this website, I don't
> >>        want people to
> >>        get direct links,etc.
> >>
> >>        Currently the links are being check with the $_SERVER['refer']
> >>        variables 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 of load
> >>        from the
> >>        server? if so then what are the other options? can I serve these
> >>        files w/o
> >>        PHP involved? lets say only by some sort of apache module or
> >>        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 the
> >>    file (IE via a post token, session ID, etc.) and if allowed, it then
> >>    sends the real file.
> >>
> >>    I use mod_rewrite (apache) to send requests for the real file to the
> >>    php wrapper script so that the linked file has the same name as the
> >>    real 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 as
> >>    far as system resources.
> >>
> >>
> >>
> >> Thank you for the fast answer.
> >>
> >> I'm doing the same regarding the php wrapper layer, but the thing is that
> >> I just don't know what verification exams should I do in the php wrapping
> >> layer.
> >> 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 is
> > from 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


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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux