2013-09-23 19 views

risposta

31

è possibile utilizzare due istruzioni IF prima o nel blocco posizione di ispezionare le intestazioni e quindi restituiscono un codice di 403 errore se esso è presente. In alternativa, è possibile utilizzare quelli IF di riscrivere a uno specifico blocco di posizione e negano tutto in quella posizione:

if ($http_x_custom_header) { 
    return 403; 
} 

Riferimento:
https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/
https://nginx.org/en/docs/http/ngx_http_access_module.html

Aggiunta di ulteriori dettagli per commento/richiesta:

if ($http_x_custom_header) { 
    return 405; 
} 

questo sembra vedere se l'intestazione esiste

se si desidera verificare se esistono i valori corretti, è necessario innanzitutto associare i valori corretti a una variabile.

map $http_x_header $is_ok { 
    default "0"; 
    Value1 "1"; 
    Value2 "1"; 
    Value3 "1"; 
} 

if ($is_ok) { 
    return 405; 
} 

questo primo mappe il valore dell'intestazione o meno il suo ok, poi controlla se la variabile è ok.

MODIFICA: Punto e virgola rimosso dopo il blocco della mappa poiché ciò causa un errore.

+1

+1, Sarebbe molto più apprezzato se puoi dare qualche esempio :). – srain

+0

Speriamo che questo esempio sia utile. – Rami

+3

I collegamenti sembrano non aggiornati. Queste sembrano essere alternative aggiornate. https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/ http://nginx.org/en/docs/http/ngx_http_access_module.html – Zoredache

Problemi correlati