En este post vamos a ver de qué manera se asignan las variables en ModSecurity mediante ejemplos.
Supongamos la URL:
https://www.caracol.com:8080/joomla/administrator/index.php?com=login&var1=valor1&var2=valor2
Además vamos a suponer que esta URL se traduce en un archivo que se encuentra en:
/home/caracol/www/joomla/administrator/index.php
Entonces veamos cómo se populan las variables de ModSecurity:
| Variable | Valor | Explicación | 
|---|---|---|
| ARGS | login valor1 valor2  | 
Valores de los argumentos. La regla se ejectua tres veces en este caso.  | 
| &ARGS | 3 | Número de argumentos | 
| ARGS:var1 | valor1 | Valor de «var1» | 
| ARGS:var2 | valor2 | Valor de «var2» | 
| ARGS_NAMES | com var1 var2  | 
Nombre de los argumentos. La regla se ejecuta tres veces en este caso. | 
| MODSEC_BUILD | 020701900 | Version de mod_security. En este caso es la 2.7.1 revision 9 | 
| QUERY_STRING | com=login&var1=valor1&var2=valor2 | |
| REQUEST_BASENAME | index.php | Nombre del archivo. Notese que si se llama a la URL www.joomla.cl/administrator, el REQUEST_BASENAME estará vacío y no se llena con «index.php» como se pudiera esperar.  | 
| REQUEST_FILENAME | /joomla/administrator/index.php | Nombre del archivo solicitado. | 
| REQUEST_HEADERS_NAMES | Las posibilidades son: Host, User-Agent, Accept, Accept-Language, Accept-Encoding, Cookie, Connection, If-Modified-Since  | 
Su aparición depende del cliente que visita la web. La que siempre está es «Host» | 
| REQUEST_HEADERS:Host | www.caracol.com:8080 | Puede ser una IP si el cliente la utiliza para visitar el servidor. | 
| REQUEST_LINE | GET /joomla/administrator/index.php?com=login&var1=valor1&var2=valor2 HTTP/1.1 | |
| REQUEST_URI | /joomla/administrator/index.php?com=login&var1=valor1&var2=valor2 | URI Completa |