Comments 30
Простите за мою тупость, но что такое поддельная ссылка и зачем от них защищаться?
+8
Наверное, типа фигни как «для восстановления пароля».
0
бывает важно чтобы ты знал что это твоя ссылка,
например защита от встраивания на чужой сайт.
например защита от встраивания на чужой сайт.
0
токены?
подтверждение мыла, восстановление пароля, еще куча вещей.
подтверждение мыла, восстановление пароля, еще куча вещей.
0
основное назначение — запрещение прямых ссылок на файлы с чужих сайтов.
Типа зашел на сайт — можешь скачать файл; скопировал прямую ссылку и послал другу — у него не работает.
Типа зашел на сайт — можешь скачать файл; скопировал прямую ссылку и послал другу — у него не работает.
+9
В первую очередь для того, чтобы быть уверенными, что ссылка сформирована именно вашим приложением.
Переходы по «левым» ссылкам используются для того, чтобы перегрузить бэкэнд или забить кеш nginx.
Если ссылка невалидная, то запрос до бэкэнда просто не дойдет.
Также уменьшается риск от sql-injection (так как злоумышленник не имеет возможности изменить параметры).
На PHP есть отличная библиотека HTTP_UrlSigner от Дмитрия Котерова: dklab.ru/lib/HTTP_UrlSigner/
Переходы по «левым» ссылкам используются для того, чтобы перегрузить бэкэнд или забить кеш nginx.
Если ссылка невалидная, то запрос до бэкэнда просто не дойдет.
Также уменьшается риск от sql-injection (так как злоумышленник не имеет возможности изменить параметры).
На PHP есть отличная библиотека HTTP_UrlSigner от Дмитрия Котерова: dklab.ru/lib/HTTP_UrlSigner/
+2
Вы всерьез предлагаете пихать в каждый url кусок непонятной фигни, вместо нормальной работы с базой? А как быть с поисковиками? Кто-то узнает ваш секретный ключ, вы поменяете его в целях безопасности и сайт моментально выпадет из индекса.
-1
Нормальную работу с базой никто не отменял. Но даже профессионалы допускают ошибки, а в случае же такого дополнительного эшелона обороны эксплуатации уязвимости будет существенно затруднена.
Если узнали ваш секретный ключ — значит злоумышленники получили доступ к исходному коду приложения на вашем хосте, что говорит о серьезных проблемах безопасности.
Схема подписи url достаточно широко распространена и общепринята, посмотрите хоть на Яндекс Маркет.
Если узнали ваш секретный ключ — значит злоумышленники получили доступ к исходному коду приложения на вашем хосте, что говорит о серьезных проблемах безопасности.
Схема подписи url достаточно широко распространена и общепринята, посмотрите хоть на Яндекс Маркет.
+1
> Если узнали ваш секретный ключ — значит злоумышленники получили доступ
> к исходному коду приложения на вашем хосте, что говорит о серьезных
> проблемах безопасности.
Ну говорит, и? Взломали вас, узнали ключ, вы закрыли дыру, что дальше? Меняете ключ — сайт вылетает из индекса. Не меняете — ваша защита рушится.
> посмотрите хоть на Яндекс Маркет.
Посмотрел, не увидел.
> к исходному коду приложения на вашем хосте, что говорит о серьезных
> проблемах безопасности.
Ну говорит, и? Взломали вас, узнали ключ, вы закрыли дыру, что дальше? Меняете ключ — сайт вылетает из индекса. Не меняете — ваша защита рушится.
> посмотрите хоть на Яндекс Маркет.
Посмотрел, не увидел.
-1
Посмотрите на то, как выглядят ссылки на товары (по которым осуществляется переход на страницы магазинов)
Попытка измения любого из параметров приведет к редиректу на главную яндекса.
http://
market-click2.yandex.ru/redir/GAkkM7lQwz6kEtXSvIPZ1pBp6WPs4XQLa-BxMEn9Wi4Bcs3zInCad3l6IwJap6nZmbF_pTg6o5q5u9HnQapByJnk19tG6aXswQa2AOxrkzBiuktpwqeI5_ot_JD49Iq5Zvzl-9hnFeSqILc2z4-wuzv37HjFfdHag3Qj7RKx2kpJgWQ-Ozt16nFqS0F5ntjRIguIIWg_yNBnVrNTuEV83pU8WsVCy0R5f4LX2RD9F_1Ob9z7pZkfjX0Q3oR1weVT?data=QVyKqSPyGQwwaFPWqjjgNvZTe7It9MxftkcZYMdf94rx-Mc_xE6i_IERl2JCZl06qnFhBgkwoYnORHLAvnQ8VHmVVc5Cmu3Oz9lQ9_oBY-J5uTAu4ebBTpy8flRGfKa5&b64e=2&sign=180d1d0b4ee9a438e4dcc058595dc7de
&keyno=1
Попытка измения любого из параметров приведет к редиректу на главную яндекса.
-1
спасибо, хорошая статья, как раз начинаем прикрычивать этот модуль.
0
/p/HASH,TIMESTAMP/ANYTHING где
PASSWORD секретный пароль
s/p/PASSWORD/?
PASSWORD секретный пароль
s/p/PASSWORD/?
+2
«оффициальной»… Хочется рыдать…
+6
UFO just landed and posted this here
С начала марта этого года использую подобное решение. Вообще, статья — перепечатка исходника по ссылке №2. — все тоже самое, только на английском. И это, кстати, вполне себе официальная документация.
+2
это сделано для того что бы напримено нельзя было простым перебором скачать файл, зная его имя.
К.О
К.О
0
содержащая значение после запятой из 'secure_link' = TIMESPAMP
%s/TIMESPAMP/TIMESTAMP/g
0
а ничего, что в версии
0.8.51 27.09.2010
Изменение: директива secure_link_expires упразднена.
0.8.51 27.09.2010
Изменение: директива secure_link_expires упразднена.
0
У меня был сделан патч, чтобы можно было использовать пустую ссылку, т.е. чтобы просто считать md5 от параметров из GET или Cookie и не указывать после хэша вообще ничего, ну в крайнем случае просто /secure/hash/?arguments…
Хотел написать статью но карма не позволяет :)
Хотел написать статью но карма не позволяет :)
0
Sign up to leave a comment.
Недокументированные возможности secure_link