Forum Moderators: phranque

Message Too Old, No Replies

Non-standard symbols (access forbidden) APACHE

access forbidden APACHE

         

greyshark

8:25 am on Mar 23, 2011 (gmt 0)

10+ Year Member



Hello! Please, help me to configure APACHE ("*" and "|" symbols in url are the reason of "access forbidden"). Or may be I need to configure .htaccess? Thank you!

jdMorgan

11:18 pm on Mar 28, 2011 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Contact your host and ask if they have a "security" setting that results in requested URLs containing these characters being rejected. On a "standard" Apache server, there would be no such problem.

According to the HTTP spec, "*" is "unreserved", and "|" is also unreserved, although tagged "unwise." See [faqs.org...]

Jim

greyshark

6:06 am on Apr 7, 2011 (gmt 0)

10+ Year Member



Thank you, but I try it on localhost with Wamp server. Hosting works fine. I've found this:

2.3. Unreserved Characters

Data characters that are allowed in a URI but do not have a reserved
purpose are called unreserved. These include upper and lower case
letters, decimal digits, and a limited set of punctuation marks and
symbols.

unreserved = alphanum | mark

mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"

Unreserved characters can be escaped without changing the semantics
of the URI, but this should not be done unless the URI is being used
in a context that does not allow the unescaped character to appear.

There for, I would recommend a similar change to Apache 2.0.x's
proxy_util.c in keeping with Apache 2.2.x's revision 571436.

Specifically, line 137, which reads:

allowed = "$-_.+!*'(),;:@&=";

should read:

allowed = "~$-_.+!*'(),;:@&=";

But how to configure Apache on localhost to "reserve" these characters?