On Sep 13, 2007, at 8:20 AM, Plüm, Rüdiger, VF-Group wrote:
Sorry for being confused, but what change to a URI are you
talking about? Transforming

GET /a/../b/somewhere

into

a request for /b/somewhere?

This is the usual transformation we do also in the case we deliver
static content (without sending a redirect to /b/somewhere).

We are supposed to be sending a redirect (or 403) in that case.
Is that not true?

No. Just create a webserver with a document root and the directories a and b
below the document root containing an index.html

Request

GET /a/../b/index.html HTTP/1.0

You will get the contents of <document root>/b/index.html directly (a.k.a Status code 200)
without any redirect. It works like this as long as I can think of.

Some bugs last longer than others, no matter how many times they are
pointed out on this list.  I am too busy to fix it this week and off
to Berlin next week, but feel free to fix it yourself.

Any transformation of the URI must result in a 403 or redirect.
The only parts of the server that should ever be allowed to
internal redirect are the storage handling routines *after* the
location has been set, and even those should redirect if the new
location has a different (better) URI.  Proxies are absolutely
forbidden from making any change to the URI -- they must forward
as is or return an error.  A reverse proxy is not a proxy.

....Roy

Reply via email to