Project

General

Profile

Feature #1556

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

Added by jrabbit over 12 years ago. Updated over 3 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

Related to Feature #505: Complete header variable matchingDuplicateActions
#1

Updated by gstrauss about 4 years ago

  • Related to Feature #505: Complete header variable matching added
#2

Updated by gstrauss about 4 years ago

  • Assignee deleted (jan)
#3

Updated by gstrauss about 4 years ago

  • Target version deleted (1.5.0)
#4

Updated by gstrauss over 3 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["..."]?

#5

Updated by gstrauss over 3 years ago

  • Status changed from Patch Pending to Fixed
  • % Done changed from 0 to 100

Also available in: Atom