Ограничить доступ к страницам
От: Funny Rabbit Россия  
Дата: 24.04.19 08:23
Оценка: :)
Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации.
То что меня не убивает, делает меня умнее.
Re: Ограничить доступ к страницам
От: Ops Россия  
Дата: 24.04.19 08:32
Оценка:
Здравствуйте, Funny Rabbit, Вы писали:

FR>Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации.


Тут нужна вторая "А" — Аутентификация.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[2]: Ограничить доступ к страницам
От: Funny Rabbit Россия  
Дата: 24.04.19 08:39
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, Funny Rabbit, Вы писали:


FR>>Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации.


Ops>Тут нужна вторая "А" — Аутентификация.



А делать то что? Ткните носом.
То что меня не убивает, делает меня умнее.
Re[3]: Ограничить доступ к страницам
От: Ops Россия  
Дата: 24.04.19 08:45
Оценка:
Здравствуйте, Funny Rabbit, Вы писали:

FR>А делать то что? Ткните носом.


Вообще я наврал. Аутентификация — это как раз удостоверение, что пользователь тот, за кого себя выдает. А авторизация — это раздача ему ресурсов, в зависимости от назначенных прав. У тебя вроде бы есть аутентификация, теперь нужно запретить доступ к страницам, на которые у пользователя нет прав. Не спрятать ссылки на них, а именно запретить доступ, чтобы сервер отдавал 403 или редиректил на общедоступный ресурс.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[4]: Ограничить доступ к страницам
От: Funny Rabbit Россия  
Дата: 24.04.19 08:47
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, Funny Rabbit, Вы писали:


FR>>А делать то что? Ткните носом.


Ops>Вообще я наврал. Аутентификация — это как раз удостоверение, что пользователь тот, за кого себя выдает. А авторизация — это раздача ему ресурсов, в зависимости от назначенных прав. У тебя вроде бы есть аутентификация, теперь нужно запретить доступ к страницам, на которые у пользователя нет прав. Не спрятать ссылки на них, а именно запретить доступ, чтобы сервер отдавал 403 или редиректил на общедоступный ресурс.


В зависимости от чего? еинственное что приходит на ум это куки при авторизации и провеврка при загрузке страницы
То что меня не убивает, делает меня умнее.
Re[5]: Ограничить доступ к страницам
От: Ops Россия  
Дата: 24.04.19 08:52
Оценка:
Здравствуйте, Funny Rabbit, Вы писали:

FR>В зависимости от чего? еинственное что приходит на ум это куки при авторизации и провеврка при загрузке страницы


Да, хороший вариант. Создаешь сессионную куку, а саму информацию по пользователю держишь в сессии на сервере.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[6]: Ограничить доступ к страницам
От: Funny Rabbit Россия  
Дата: 24.04.19 09:05
Оценка: :)
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, Funny Rabbit, Вы писали:


FR>>В зависимости от чего? еинственное что приходит на ум это куки при авторизации и провеврка при загрузке страницы


Ops>Да, хороший вариант. Создаешь сессионную куку, а саму информацию по пользователю держишь в сессии на сервере.


Щас я делаю так

$un = htmlspecialchars($_POST["uname"]);
setcookie("user", $un);


<?php
            $cookie = $_COOKIE["user"];
            
            if(! $cookie)
            {
                    header('Location: login_form.html');
            }
            
         ?>


Что не так? И какие подводные камни?
То что меня не убивает, делает меня умнее.
Re[7]: Ограничить доступ к страницам
От: Ops Россия  
Дата: 24.04.19 09:23
Оценка:
Здравствуйте, Funny Rabbit, Вы писали:

FR>Что не так?

Не так, например, то, что ты хранишь чувствительную информацию в куке, где должен быть только токен, идентифицирующий сессию на сервере.
FR>И какие подводные камни?
Их 100500. Основной в том, что вместо готового работающего решения, где большинство этих подводных камней давно обошли, ты, не слишком разбираясь в теме, придумываешь свой велосипед, начиная бег по граблям.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[8]: Ограничить доступ к страницам
От: Funny Rabbit Россия  
Дата: 24.04.19 09:29
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, Funny Rabbit, Вы писали:


FR>>Что не так?

Ops>Не так, например, то, что ты хранишь чувствительную информацию в куке, где должен быть только токен, идентифицирующий сессию на сервере.
FR>>И какие подводные камни?
Ops>Их 100500. Основной в том, что вместо готового работающего решения, где большинство этих подводных камней давно обошли, ты, не слишком разбираясь в теме, придумываешь свой велосипед, начиная бег по граблям.

Какие ешения ткните носом
То что меня не убивает, делает меня умнее.
Re[9]: Ограничить доступ к страницам
От: Ops Россия  
Дата: 24.04.19 09:48
Оценка: -1
Здравствуйте, Funny Rabbit, Вы писали:

FR>Какие ешения ткните носом


Начни с веб-сервера, там есть многое из необходимого. Если не хватит, то сформулируй требования, чего не хватает.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[10]: Ограничить доступ к страницам
От: Funny Rabbit Россия  
Дата: 24.04.19 10:22
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, Funny Rabbit, Вы писали:


FR>>Какие ешения ткните носом


Ops>Начни с веб-сервера, там есть многое из необходимого. Если не хватит, то сформулируй требования, чего не хватает.



Что именно читать?
То что меня не убивает, делает меня умнее.
Re: Ограничить доступ к страницам
От: 13akaEagle Россия  
Дата: 24.04.19 10:30
Оценка: 4 (1)
Здравствуйте, Funny Rabbit, Вы писали:

FR>Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации.

Так авторизация в порядке или нет?

Из вышесказанного я предполагаю, что при авторизации пользователю отображается список страниц, без авторизации этот список не показывается. Но если ввести этот адрес страницы вручную, то пользователь сможет её просмотреть.
На каждый запрос нужно проверять на сервере имеет ли данный пользователь права на просмотр данной страницы.
Re[11]: Ограничить доступ к страницам
От: Ops Россия  
Дата: 24.04.19 10:38
Оценка:
Здравствуйте, Funny Rabbit, Вы писали:

FR>Что именно читать?


Начни с документации к своему веб-серверу, в части аутентификации/авторизации.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[2]: Ограничить доступ к страницам
От: Funny Rabbit Россия  
Дата: 24.04.19 10:47
Оценка:
Здравствуйте, 13akaEagle, Вы писали:

E>Здравствуйте, Funny Rabbit, Вы писали:


FR>>Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации.

E>Так авторизация в порядке или нет?

E>Из вышесказанного я предполагаю, что при авторизации пользователю отображается список страниц, без авторизации этот список не показывается. Но если ввести этот адрес страницы вручную, то пользователь сможет её просмотреть.

E>На каждый запрос нужно проверять на сервере имеет ли данный пользователь права на просмотр данной страницы.

Надо чтобы вводя УРЛ станицы выл редирект на форму регистрации, если человк не вошел еще
То что меня не убивает, делает меня умнее.
Re[3]: Ограничить доступ к страницам
От: DTB Россия  
Дата: 26.04.19 08:31
Оценка: 4 (1)
Здравствуйте, Funny Rabbit, Вы писали:

FR>Здравствуйте, 13akaEagle, Вы писали:


E>>Здравствуйте, Funny Rabbit, Вы писали:


FR>>>Есть сайт самописный. Авторизация в порядке. Но если вручную ввести УРЛ админки, то можно обойти авторизацию. Как этого избежать? ЧТобы доступ к страницам был тольо после авторизации.

E>>Так авторизация в порядке или нет?

E>>Из вышесказанного я предполагаю, что при авторизации пользователю отображается список страниц, без авторизации этот список не показывается. Но если ввести этот адрес страницы вручную, то пользователь сможет её просмотреть.

E>>На каждый запрос нужно проверять на сервере имеет ли данный пользователь права на просмотр данной страницы.

FR>Надо чтобы вводя УРЛ станицы выл редирект на форму регистрации, если человк не вошел еще


похоже что не очень в порядке,

тут 2 варианта реализации:

1 — проверка непосредственно при запросе УРЛ страницы, на бэкэнде проверять есть ли авторизация (это если для хранения авторизации используются куки или параметры в УРЛ), в случае если авторизации нет, то возвращает редирект, напр. 301 который корректно обрабатывается самим браузером

2 — когда страница использует API (после загрузки), бэкэнд проверяет авторизацию, и щлет соотв. ответ, напр. 403 если авторизации нет, клиентский скрипт проверяет код и редиректит сам

по самой авторизации копать в сторону JWT
Have fun...
Re[4]: Ограничить доступ к страницам
От: Vetal_ca Канада http://vetal.ca
Дата: 13.05.19 12:41
Оценка: 4 (1)
Здравствуйте, DTB, Вы писали:


DTB>1 — проверка непосредственно при запросе УРЛ страницы, на бэкэнде проверять есть ли авторизация (это если для хранения авторизации используются куки или параметры в УРЛ), в случае если авторизации нет, то возвращает редирект, напр. 301 который корректно обрабатывается самим браузером



Садисты

302, не 301. Человек только первые шаги делает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.