Pytanie OPCJE żąda uwierzytelnienia


Zajmuję się tworzeniem aplikacji internetowej. Używa uwierzytelniania podstawowego. Musi przetwarzać żądania OPTIONS. Są to żądania inspekcji przeglądarki internetowej, a także żądania obsługi funkcji od klientów WebDAV.

O ile rozumiem, żądania OPCJI muszą być przetwarzane bez żądania uwierzytelnienia (to znaczy, że mój serwer nie powinien odpowiadać 401 Nieautoryzowanym), musi podać odpowiedź, na przykład:

OPTIONS https://localhost:44305/path/file.ext HTTP/1.1
Connection: Keep-Alive
User-Agent: some app
Host: localhost:44305

HTTP/1.1 200 OK
Content-Length: 0
DAV: 1, 2, 3
Date: Fri, 27 Dec 2013 17:10:21 GMT

Moje pytanie brzmi: czy zawsze powinienem podawać taką samą odpowiedź na żądanie OPTIONS, niezależnie od adresu URL lub czy powinien on zależeć od adresu URL.

Na przykład, jeśli plik file.ext w powyższym przykładzie nie zostanie znaleziony, czy powinienem odpowiedzieć "404 Nie znaleziono" lub "200 OK"?


11
2017-12-27 17:30


pochodzenie




Odpowiedzi:


od http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html:

Metoda OPTIONS reprezentuje żądanie informacji o opcjach komunikacyjnych dostępnych w łańcuchu żądania / odpowiedzi zidentyfikowanym przez Request-URI. Ta metoda pozwala klientowi określić opcje i / lub wymagania związane z zasobem lub możliwościami serwera, bez sugerowania akcji zasobów lub inicjowania pobierania zasobów.

Więc OPCJE mogą być specyficzne dla serwera lub mogą być specyficzne dla zasobu, to zależy od twojej aplikacji. Jeśli korzystasz z współdzielonego udostępniania zasobów (CORS, np. Próbując XMLHttpRequest na inny serwer), wyśle ​​ono żądanie OPTIONS, aby sprawdzić, czy serwer oczekuje żądań różnych źródeł dla konkretnego zasobu przed wykonaniem polecenia POST. W takim przypadku OPCJE powinny zachowywać się w zależności od zasobu. W przypadku WebDAV mogą być wystarczające OPCJE specyficzne dla serwera, ponieważ klient robi to tylko w celu sprawdzenia dozwolonych metod (np. Jeśli obsługiwane są metody WebDAV).


12
2017-12-28 20:14



Dziękuję Steffen, o tym też myślałem. Problem z odmienną reakcją na różne adresy URL polega na tym, że osoba atakująca może użyć żądania OPTIONS, aby wykryć zawartość / adresy serwerów i funkcje obsługiwane przez ten konkretny zasób. To wygląda na problem z bezpieczeństwem. - IT Hit WebDAV