2013-07-16 11 views
6

nowy na tej stronie więc będę utrzymywać go skrócie:Zezwalaj tylko na jednego użytkownika-agenta, zablokuj resztę w nginx?

mam obecnie:

if ($http_user_agent ~* (A-certain-self-made-User-Agent-here)) { 
      return 200; 
    } 

Który działa bardzo dobrze. (Testowane przez przełączenie od 200 do 403).

Moje pytanie brzmi:: Czy istnieje sposób w/etc/nginx/strony obsługującej/default, aby pozwolić tylko ONE User-Agent i odrzucić resztę?

Wiem, że to wydaje się głupie, ale jest to coś, co chciałbym zrobić (jeśli to możliwe). Jak może to ?:

if (http_user_agent ~*(user-agent)) { 
      return 200; 
    else 
      return 403; 
    } 

Odpowiedz

0

Można spróbować wykonać następujące czynności w odpowiedniej lokalizacji

set $isallowed = ""; 
if ($http_user_agent = allowed_user_agent) { 
    set $isallowed "${isallowed}YES"; 
} 

if ($isallowed !~ YES) { 
    rewrite^http://yourserver.com permanent; 
} 
4
if ($http_user_agent !~* "A-certain-self-made-User-Agent-here") { 
    return 403; 
} 

pracuje na mojej stronie.

+0

To działa idealnie. Dzięki! – xxdesmus

Powiązane problemy