se não for definido como cookie no nginx

1

Eu queria restringir o acesso à nossa seção de downloads. Se os usuários / bots quiserem baixar o arquivo sem fazer o login, verão o erro 403. A lógica é maravilhosa, mas acabou por ser um código muito feio

location /downloads/ {
 set $banforcookienotset 1;
 if ($cookie_PHPSESSID) {
    set $banforcookienotset 0;
 }
 if ($banforcookienotset = 1){
    return   403;}
}

Existe uma maneira melhor de fazer isso?

    
por nerkn 30.01.2018 / 10:51

1 resposta

1

Sim, mas no meu exemplo você ainda precisa de IF.

link

http {
    ...........
    map $cookie_PHPSESSID $ban {
    default '';
    ''  1;
    ...........
    }
    server {
    server_name example.com;
    if($ban) {return 403;}
        location / {
        ..........
        }
    .........
    }
}
    
por 30.01.2018 / 11:09