5

Patrzę na this i this i wydaje się, że "łatwo" wysłać poświadczenia w adresie URL. Na przykład:Żadna przeglądarka nie wysyła informacji o autoryzacji w nagłówku

http://gooduser:[email protected]/webcallback?foo=bar

To wszystko dobrze i dobre, ale robi praca. Przekręciłem skrzypce i dla Chrome nie jest wysyłany nagłówek Authorization. Wygląda na to, że zachowuje się tak samo w innych przeglądarkach (mam punkt przerwania na serwerze i nie pojawiają się nagłówki Authorize w Firefoksie, Safari lub IE).

Jak zrobić to lepiej?

+0

Witam, właśnie wpadłem na to samo pytanie. Znalazłeś już rozwiązanie? – mreithub

+0

@mreithub no sorry :( – wal

+0

Byłem zaskoczony, że widzę nagłówek Authorization wysłany na podstawową autoryzację w chrome. – spankmaster79

Odpowiedz

2

Natknąłem się na to podczas badania różnych podstawowych implementacji auth.

Przeglądarki zazwyczaj wysyłają podstawowe uwierzytelnianie tylko wtedy, gdy otrzymają od serwera odpowiedź na pytanie o odpowiedź na pytanie: 401 (more on basic auth protocol). Jeśli dany punkt końcowy akceptuje zarówno uwierzytelnionych, jak i nieuwierzytelnionych użytkowników, żądanie oparte na przeglądarce prawdopodobnie nigdy nie zostanie poproszony o podanie parametrów auth.

Najprostszym sposobem na sprawdzenie tego typu instalacji jest wysłanie curl żądanie (który wysyła parametry uwierzytelniania niezależnie) do punktu końcowego serwera i potwierdzić otrzymanie nagłówku authorization:

curl 'http://gooduser:[email protected]/webcallback?foo=bar'

0

OK więc po wielu poszukiwaniach i eksperymentach działa. Należy jednak uważać, aby tajne hasło NIE zawierało żadnych znaków specjalnych. Użyj hasła zawierającego tylko litery i cyfry oraz hipen (jeśli musisz) i powinno działać.

Powiązane problemy