Check if variable exists in file, Using file contents for variable handling

Is there a way to check a variable against file contents for processing?
A
couple scenarios below.

This is used here, but adding multiple agents can get burdensome:
if ($http_user_agent ~ (agent1|agent2|Foo|Wget|Nmap|BadAgent) ) {
return 403;
}

I’d like to maintain a file with all the variables, (and custom script
the
addition/removal of file entries) like this:
if ($http_user_agent ~ (in.file(…/…/badAgents.txt) ) {
return 403;
}

Or using file references for Allow/Deny:
Allow …/…/whitelist.txt
Deny …/…/badHosts.txt

Or Checking usernames against a whitelist/blacklist:
if ( $arg.Username does.not.exist.in(…/…/allowedUsers.txt) )
if ( $arg.Username exists.in(…/…/blockedUsers.txt) )

Posted at Nginx Forum:

Hello!

On Thu, Aug 29, 2013 at 10:42:37AM -0400, spacecwoboy wrote:

if ($http_user_agent ~ (in.file(…/…/badAgents.txt) ) {
if ( $arg.Username does.not.exist.in(…/…/allowedUsers.txt) )
if ( $arg.Username exists.in(…/…/blockedUsers.txt) )

The map module is probably what you are looking for, see here:

http://nginx.org/en/docs/http/ngx_http_map_module.html

Additionally, the “include” directive may be usefull, see
Core functionality.


Maxim D.
http://nginx.org/en/donation.html