Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации.
Здравствуйте, Funny Rabbit, Вы писали:
FR>Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации.
Тут нужна вторая "А" — Аутентификация.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, Funny Rabbit, Вы писали:
FR>>Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации.
Ops>Тут нужна вторая "А" — Аутентификация.
Здравствуйте, Funny Rabbit, Вы писали:
FR>А делать то что? Ткните носом.
Вообще я наврал. Аутентификация — это как раз удостоверение, что пользователь тот, за кого себя выдает. А авторизация — это раздача ему ресурсов, в зависимости от назначенных прав. У тебя вроде бы есть аутентификация, теперь нужно запретить доступ к страницам, на которые у пользователя нет прав. Не спрятать ссылки на них, а именно запретить доступ, чтобы сервер отдавал 403 или редиректил на общедоступный ресурс.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, Funny Rabbit, Вы писали:
FR>>А делать то что? Ткните носом.
Ops>Вообще я наврал. Аутентификация — это как раз удостоверение, что пользователь тот, за кого себя выдает. А авторизация — это раздача ему ресурсов, в зависимости от назначенных прав. У тебя вроде бы есть аутентификация, теперь нужно запретить доступ к страницам, на которые у пользователя нет прав. Не спрятать ссылки на них, а именно запретить доступ, чтобы сервер отдавал 403 или редиректил на общедоступный ресурс.
В зависимости от чего? еинственное что приходит на ум это куки при авторизации и провеврка при загрузке страницы
Здравствуйте, Funny Rabbit, Вы писали:
FR>В зависимости от чего? еинственное что приходит на ум это куки при авторизации и провеврка при загрузке страницы
Да, хороший вариант. Создаешь сессионную куку, а саму информацию по пользователю держишь в сессии на сервере.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, Funny Rabbit, Вы писали:
FR>>В зависимости от чего? еинственное что приходит на ум это куки при авторизации и провеврка при загрузке страницы
Ops>Да, хороший вариант. Создаешь сессионную куку, а саму информацию по пользователю держишь в сессии на сервере.
Здравствуйте, Funny Rabbit, Вы писали:
FR>Что не так?
Не так, например, то, что ты хранишь чувствительную информацию в куке, где должен быть только токен, идентифицирующий сессию на сервере. FR>И какие подводные камни?
Их 100500. Основной в том, что вместо готового работающего решения, где большинство этих подводных камней давно обошли, ты, не слишком разбираясь в теме, придумываешь свой велосипед, начиная бег по граблям.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, Funny Rabbit, Вы писали:
FR>>Что не так? Ops>Не так, например, то, что ты хранишь чувствительную информацию в куке, где должен быть только токен, идентифицирующий сессию на сервере. FR>>И какие подводные камни? Ops>Их 100500. Основной в том, что вместо готового работающего решения, где большинство этих подводных камней давно обошли, ты, не слишком разбираясь в теме, придумываешь свой велосипед, начиная бег по граблям.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, Funny Rabbit, Вы писали:
FR>>Какие ешения ткните носом
Ops>Начни с веб-сервера, там есть многое из необходимого. Если не хватит, то сформулируй требования, чего не хватает.
Здравствуйте, Funny Rabbit, Вы писали:
FR>Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации.
Так авторизация в порядке или нет?
Из вышесказанного я предполагаю, что при авторизации пользователю отображается список страниц, без авторизации этот список не показывается. Но если ввести этот адрес страницы вручную, то пользователь сможет её просмотреть.
На каждый запрос нужно проверять на сервере имеет ли данный пользователь права на просмотр данной страницы.
Здравствуйте, 13akaEagle, Вы писали:
E>Здравствуйте, Funny Rabbit, Вы писали:
FR>>Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации. E>Так авторизация в порядке или нет?
E>Из вышесказанного я предполагаю, что при авторизации пользователю отображается список страниц, без авторизации этот список не показывается. Но если ввести этот адрес страницы вручную, то пользователь сможет её просмотреть. E>На каждый запрос нужно проверять на сервере имеет ли данный пользователь права на просмотр данной страницы.
Надо чтобы вводя УРЛ станицы выл редирект на форму регистрации, если человк не вошел еще
Здравствуйте, Funny Rabbit, Вы писали:
FR>Здравствуйте, 13akaEagle, Вы писали:
E>>Здравствуйте, Funny Rabbit, Вы писали:
FR>>>Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации. E>>Так авторизация в порядке или нет?
E>>Из вышесказанного я предполагаю, что при авторизации пользователю отображается список страниц, без авторизации этот список не показывается. Но если ввести этот адрес страницы вручную, то пользователь сможет её просмотреть. E>>На каждый запрос нужно проверять на сервере имеет ли данный пользователь права на просмотр данной страницы.
FR>Надо чтобы вводя УРЛ станицы выл редирект на форму регистрации, если человк не вошел еще
похоже что не очень в порядке,
тут 2 варианта реализации:
1 — проверка непосредственно при запросе УРЛ страницы, на бэкэнде проверять есть ли авторизация (это если для хранения авторизации используются куки или параметры в УРЛ), в случае если авторизации нет, то возвращает редирект, напр. 301 который корректно обрабатывается самим браузером
2 — когда страница использует API (после загрузки), бэкэнд проверяет авторизацию, и щлет соотв. ответ, напр. 403 если авторизации нет, клиентский скрипт проверяет код и редиректит сам
DTB>1 — проверка непосредственно при запросе УРЛ страницы, на бэкэнде проверять есть ли авторизация (это если для хранения авторизации используются куки или параметры в УРЛ), в случае если авторизации нет, то возвращает редирект, напр. 301 который корректно обрабатывается самим браузером