
22.03.2012, 16:20
|
|
блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
|
Клиент-сервер:
На клиент передается некоторый сессионный ключ. В открытом виде. И, например, userID.
При каждом запросе на сервер передается как userID, так и ключ. Происходит проверка, совпадает ли ключ для этого userID'a. Если нет - ошибка. Таким образом человек может делать покупки только от своего userID'a, т.к. ключ сессии для другого userID'а ему не получить никак.
Да, запрос покупки можно перехватить. И отправить его ещё 100 раз. Но это будет эквивалентно, если бы человек решил купить эту вещь 100 раз и с клиента.
Клиент-соцсеть:
Защиты никакой. Можно отправить любой запрос на всё что угодно. Поэтому запросы к соц. сети должны быть чисто информационными. Например, узнать список друзей.
Сервер-соцсеть:
Есть специальный секретный ключ для транзакций (обычно называют солью), который доступен только серверу и администратору приложения. С сервера его не получить никак - он зашит в скриптах сервера, и из контакта никак - меняется и виден только из админки. Вот он и является верификацией. Обычно используют с приблудами - вычисляют MD5 от соединения разных параметров и него.
|