Защита от перенаправления по url.

Denzi

Новичок
Как написать систему защиты, чтобы тебя перенаправляло на ту страницу с которой ты хочешь перейти. То есть если ты с юзера хочешь в админ попасть, то тебя обратно на юзера перекинет, и на оборот. Если ты с авторизации на юзера хочешь перейти просто по ссылке, то тебя направит на авторизацию. Так же на странице юзера имеется окно с отправкой запроса. Я сделал запрет с помощью ($_SERVER['HTTP_REFERER'] но когда юзер отправляет запрос его перекидывает на страницу авторизации. Внизу скриншоты попытки написания защиты у user, такой же код у tech(admin), только с изменением ссылки.
 

Вложения

Denzi

Новичок
Последнее редактирование:

fixxxer

К.О.
Партнер клуба
Зачем тебе referer?
Прежде чем редиректить на авторизацию со страницы, к которой в данный момент нет доступа, запиши в сессию текущий урл. Как авторизуется, возвращай на тот, который в сессии. А если там ничего нет, то на какой-то вариант по умолчанию.
А когда авторизовал, запиши в сессию тип пользователя, и потом соответственно ему редирект делай.
 

Denzi

Новичок
Зачем тебе referer?
Прежде чем редиректить на авторизацию со страницы, к которой в данный момент нет доступа, запиши в сессию текущий урл. Как авторизуется, возвращай на тот, который в сессии. А если там ничего нет, то на какой-то вариант по умолчанию.
А когда авторизовал, запиши в сессию тип пользователя, и потом соответственно ему редирект делай.
Не совсем понял как это воплить. Я получается избавляюсь 100% от referer.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Если это у тебя работает, то не факт, что это реально работает, а не кажется.

@fixxxer дело советует про сессии и проверку типа юзера.
 

Denzi

Новичок
Если это у тебя работает, то не факт, что это реально работает, а не кажется.

@fixxxer дело советует про сессии и проверку типа юзера.
А как проверить в работоспособности?
Путем заливки на хост?
 
Последнее редактирование:

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Писать код так, как это делают знающие дядьки, тебе посоветовали подход. Дальше у тебя будет куча "велосипедов" часть с которых не будет работать нормально. Но это как говорится побочные результаты обучения.

По словам php session auth есть куча примеров разной сложности и применимости. Ну и можно всегда почитать книги.
 

ksnk

прохожий
Хранить "реферер" в сессии не особо разумно. Если открыть пару вкладок с сайтом , это станет очевидно.
Нужно либо генерировать в скрытом поле формы обратный урл, либо подсовывать его javascript'ом.
 
Сверху