PDA

Просмотр полной версии : [Программирование] Зачем нужна сигнатура?


Psycho Tiger
25.10.2010, 19:47
Речь идёт о клиент-серверном взаимодействии. Социальные сети просят хэш из сигнатуры, часто сервера просят этот самый хэш. Зачем он нужен? Страховка от неполностью переданной команды, а ля чек-сумм?

Расскажите. Или отправьте куда почитать)

mayakwd
25.10.2010, 19:55
обычно хэш строится для авторизации клиента создающего запрос.
хэш строится по определенной формуле\алгоритму, в котором используется так же ключ, известный только клиенту и только api, если хэши совпадают команда принимается и выдается результат, иначе «гуляй Вася».

проблема лишь в том что у ВК этот метод бесполезен так как ключ не сессионный и достать и заюзать его проблемы никакой (хотя с приходом api 3.0 вроде стало можно подписываться сессионным ключом).
это что касается клиент <-> api

если server <-> api (защищенное взаимодействие) вот тут уже подпись просто необходима, так как доступ идет к данным имеющим ценность (работа с денюжками например), и api просто необходимо понимать с кем оно имеет дело с мошенником или с авторизованным клиентом.

только ты не в той категории вопрос задал.

cleptoman
25.10.2010, 19:58
я вот тож у вконтакта не совсем понимал зачем тулить всякие секреты в аппликуху, если его выдернуть не такая уж и проблема

Котяра
25.10.2010, 19:59
В первую очередь - проверка валидности запроса от всяких читеров и спамеров. Так как в хэш последовательности содержится секретный ключ известный только вашему серверу и серверу социалки.
UPD про клиент <-> вконтакт - тоже не понятно зачем он нужен)

BlooDHounD
25.10.2010, 20:33
очень АС3-тема. Psycho Tiger, ты первый день на форуме?

по топику: ваще это исторически сложилось от фэйсбука =) сперва товаришщи не догадались, что свф можно декомпилить, а потом осталось для совместимости. а остальные сети не стали углубляться в причины. рас папа сделал, то и мы сделаем.

Psycho Tiger
25.10.2010, 20:55
очень АС3-тема. Psycho Tiger, ты первый день на форуме?
Пардон, вопрос о программировании мне показался наиболее уместен там. )

Ну вообще да, была мысль что это что-то от прадедов осталось, но решил твёрдо узнать )

проблема лишь в том что у ВК этот метод бесполезен так как ключ не сессионный и достать и заюзать его проблемы никакой (хотя с приходом api 3.0 вроде стало можно подписываться сессионным ключом).
это что касается клиент <-> api
Ну не знаю. Флешке же этот сессионный ключ сообщают, поэтому перехватить его тоже не проблема. Разве что чуть сложнее )

mayakwd
25.10.2010, 21:05
флэшке этот ключ сообщают на странице приложения. и на сервере происходит сравнение с куками, это конечно крайне унылая защита, но хоть какая-то.

BlooDHounD
25.10.2010, 21:06
не сложнее чем сейчас перехватить сессию вашего гмыла и вытащить все пароли от порно-трэкеров.

mayakwd
25.10.2010, 21:15
для этого надо заставить пользователя куда-то перейти. так что не все так просто.

wvxvw
26.10.2010, 12:27
Нет, вообще идея в том, чтобы не посылать пароль / другие данные, которые желательно скрыть, в отркрытом виде. Т.н. man in the middle, в смысле, например и-нет кафе, или корпоративная сеть, где доступ в и-нет осуществляется через другую машину, где можно легко просматривать трафик. Это не особо помогает, просто немного запутывает.

BlooDHounD
26.10.2010, 13:43
wvxvw, что бы скрыть пароль посылается auth. а подпись для красоты.