LINUX.ORG.RU

параметры запроса в ссылке действительные лишь для одного юзера


0

1

если я скопирую ссылку из одноклассников, и передам эту ссылку другому юзеру, то он её открыть ведь не сможет. его просто выбросит на его же главную страницу.в чём суть этого механизма и как добиться аналогичного поведения в моём веб-приложении ?

Скрепты глядят, залогинен ли ты и как, прежде чем отдавать контент. // К.О.

anonymous
()
Ответ на: комментарий от anonymous

Точнее: там просто идет перенаправление ссылок на скриптик, который в случае получения нужных cookies отдает материал по ссылке, а в противном - отдает главную.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

и тот кто отправлял ссылку, и тот кто получил - залогинены и у них есть соответствующие куки. я хотел бы узнать, как скрипт определяет, что одна ссылка предназначена именно для избранного юзера, а не для другого юзера.

Voviandr
() автор топика
Ответ на: комментарий от Voviandr

Любая ссылка разбирается на составные части. путь в ссылке тоже разбиватеся. Каждому элементу пути (или параметрам в URL) сопостовляются объекты веб-сервиса. К объектам назначены права доступа...

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

в таком случае где-то в одном из параметров запроса должен быть айди юзера, для точного сопоставления прав доступа ? в смысле сопоставления между данной ссылкой и куками. если параметр в куках и параметр в запросе совпадают, то ссылка работает, если нет, то редирект на страницу юзера. но если я правильно понял, то параметры в запросе как-то зашифрованы, чтоб юзер не мог их просто подобрать и получить доступ к чужой ссылке, так ?

Voviandr
() автор топика
Ответ на: комментарий от Voviandr

> в таком случае где-то в одном из параметров запроса должен быть айди юзера, для точного сопоставления прав доступа ?

не обязательно, и даже совсем не желательно. Ибо получив ссылку и подставив «нужный» ID, можно будет получить несанкционированный доступ к странице. В URL находится просто путь к «WEB-объекту». Получив этот путь. движок парсит путь и находит этот WEB-объект. У WEB-объекта есть список прав доступа. Сам пользователь должен пройти аутентификацию - получить кукис с ID сессии. При обращении на любую страничку на сайте посылается этот кукис с ID сессии. Движок сайта получает этот ID сессии и на его основании воостанавливает данные аутентификации (ID пользователя, его «корзина», список предпочтений и т.д. и т.п.). Дальше всё просто.

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

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

Voviandr
() автор топика
Ответ на: комментарий от anonymous

идея в том, что если юзер получает ссылку на ресурс через поиск , то в куки записывается разрешение на посещение страницы, а если получает ту же ссылку напрямую через копипасту, то разрешения в куки не записаны и происходит редирект, я верно понял ?

Voviandr
() автор топика
Ответ на: комментарий от Voviandr

печеньки нужны только для быстрого логина или возобновления сессии без ввода юзернейма-пароля (например записываем туда user_id, md5_pass (или какой другой хэш), session_id), никаких разрешений в печеньки писать не надо

anonymous
()
Ответ на: комментарий от Voviandr

а, например, если вместе с данными о сессии хранить дополнительный параметр, подставляемый в url ссылок при отдаче контента, а когда пользователь проходит по этой ссылке сверять url с данными о сессии, чтобы убедиться, что пользователь прошел по своей ссылке, а не по скопированной?

anonymous
()
Ответ на: комментарий от Voviandr

идея в том, что если юзер получает ссылку на ресурс через поиск , то в куки записывается разрешение на посещение страницы, а если получает ту же ссылку напрямую через копипасту, то разрешения в куки не записаны и происходит редирект, я верно понял ?

Подобное тоже бывает, но очень редко и не в этом случае. Тут же речь о другом. Сейчас попытаюсь объяснить.

Во-первых, читаем про mod_rewrite. Вкратце: есть такая схема работы сайта, когда все урлы обрабатывает один и тот же скрипт, один и тот же файл. И запрашиваемый URL приходит к нему просто в виде параметра, который он затем обрабатывает. Так вот, пользователь запрашивает http://site.ru/hiddenpage/, после чего скрипт (допустим, index.php) принимает запрос, видит, что запрашивают страницу hiddenpage, видит, что запрашивает юзер с айдишником 225 (этот айдишник он из данных сессии получил) и затем просто по базе проверяет, может ли этот пользователь смотреть эту страницу. Вот и всё.

Wizard_ ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.