?

Log in

Microsoft и basic http authentication - Оживший юзерпик

Mar. 17th, 2013

10:38 am - Microsoft и basic http authentication

Previous Entry Share Next Entry

Хозяйке на заметку. Мало ли, кому ещё понадобится.

RFC-2617 гласит: клеим логин, двоеточие, password, всё это в base64 и в HTTP заголовок. Что сделал MS? Логин и пароль в UTF-16. Ну, чёрт с вами, ладно, интернационализация. Так двоеточие тоже, блин, должно быть в UTF-16!! Хотя по RFC однозначно в ASCII должно быть. Я два дня об это бился лбом.

Comments:

[User Picture]
From:k001
Date:March 17th, 2013 10:01 am (UTC)
(Link)
Надо же, казалось, такая простая квадратная штука, что сломать ну просто нечего. Ан нет, и тут сломали, черти.
(Reply) (Thread)
[User Picture]
From:webushka
Date:March 17th, 2013 12:15 pm (UTC)
(Link)
При общении с поделиями этой конторы опыт уже должен как бы заставлять сначала запускать снифер на процесс успешного обмена данными, а уж потом смотреть в rfc :)
(Reply) (Thread)
[User Picture]
From:lonelyhome
Date:March 17th, 2013 05:23 pm (UTC)
(Link)
Воистину, in (snoop|tcpdump) we trust.
(Reply) (Parent) (Thread)
[User Picture]
From:maxcom
Date:March 18th, 2013 01:44 pm (UTC)
(Link)
По моему опыту если пароль/логин не ascii, то там может быть все что угодно - зависит от ОС и браузера. Вполне может быть однобайтовая кодировка вроде cp1251
(Reply) (Thread)
[User Picture]
From:tobotras
Date:March 18th, 2013 01:51 pm (UTC)
(Link)
Ну, это понятные проблемы. Но двоеточие!
(Reply) (Parent) (Thread)
[User Picture]
From:zaitcev
Date:March 28th, 2013 12:12 am (UTC)
(Link)
Do I understand it right that it's impossible to mix UTF-16 and ASCII colon? E.g. it's possible to have a character 0xNN3a. In such case, how are you supposed to find the colon?
(Reply) (Thread)
[User Picture]
From:tobotras
Date:March 28th, 2013 02:52 am (UTC)
(Link)
You're right, конечно. Поэтому люди с прямыми руками имели бы в этом месте ASCII-compatible encoding (read: UTF-8).
(Reply) (Parent) (Thread)