Project

General

Profile

Actions

Feature #1556

closed

Allow matching against any arbitrary HTTP header in the configuration file regexps

Added by jrabbit about 17 years ago. Updated about 8 years ago.

Status:
Fixed
Priority:
Normal
Category:
core
Target version:
ASK QUESTIONS IN Forums:

Description

It should be possible to match against any HTTP header from the config file, rather than being limited to only matching against Host, User-Agent, Referrer and Cookie.

I can think of 3 ways to achieve this:

1. Introduce a new $REQUEST[] table in the configuration file that allows matching against any header, and leave the Host, User-Agent, Referrer and Cookie options in the $HTTP[] table for backwards compatibility. This means there are two ways of testing against these 4 headers, which is against the lighttpd spirit of lightness.

2. Introduce $REQUEST[] as above, and remove the Host, User-Agent, Referrer and Cookie options from $HTTP[]. This isn't backwards compatible but is the architecturally cleanest option.

3. Treat any string between the brackets in $HTTP[] that is not recognized as having special meaning to lighttpd as a header name to match against. This has the downside that there is a small risk of current $HTTP[] options such as "remoteip" conflicting with future HTTP header names. However, it does mean that internally in the code, the Host, User-Agent, Referrer and Cookie options could be removed as special cases without changing their functionality to end users.

NOTE: Implementing this arbitrary header matching would also resolve ticket 1119.


Related issues 1 (0 open1 closed)

Related to Feature #505: Complete header variable matchingDuplicateActions

Added by gstrauss about 8 years ago

Revision 2ac2911b (diff)

[core] config match w/ arbitrary HTTP request hdrs (fixes #1556)

x-ref:
"Allow matching against any arbitrary HTTP header in the configuration file regexps"
https://redmine.lighttpd.net/issues/1556

Added by gstrauss about 8 years ago

Revision 78047a3c (diff)

[core] $REQUEST_HEADER[...] subsumes other config (#1556)

x-ref:
"Allow matching against any arbitrary HTTP header in the configuration file regexps"
https://redmine.lighttpd.net/issues/1556

Added by gstrauss over 7 years ago

Revision 7bd46d19 (diff)

[core] fix $REQUEST_HEADER[...] parsing in config (#1556)

x-ref:
"Allow matching against any arbitrary HTTP header in the configuration file regexps"
https://redmine.lighttpd.net/issues/1556
https://redmine.lighttpd.net/boards/2/topics/7609

Actions

Also available in: Atom