Feature #1556
closedAllow matching against any arbitrary HTTP header in the configuration file regexps
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.
Updated by gstrauss over 8 years ago
- Related to Feature #505: Complete header variable matching added
Updated by gstrauss almost 8 years ago
- Description updated (diff)
- Status changed from New to Patch Pending
- Target version set to 1.4.46
Any strong preferences between naming this $HEADER["..."] versus $REQUEST["..."]?
Updated by gstrauss almost 8 years ago
- Status changed from Patch Pending to Fixed
- % Done changed from 0 to 100
Applied in changeset 2ac2911b9aa253e26a660241bbe37cdbcdd8d050.
Also available in: Atom