1. Deonis - 24 Июля, 2013 - 13:54:16 - перейти к сообщению
Всем привет! Не вникал углубленно в тему безопасности, поэтому возник вопросик. Достаточно ли будет использовать для входа в админку сайта только сессии? Для уточнения: никаких "новых регистраций" через веб-интерфейс не будет, в кукисах ничего не сохраняется (модератор вводит данные при каждом новом посещении), пароль хорошо шифруется (XOR).
2. EuGen - 24 Июля, 2013 - 13:59:12 - перейти к сообщению
Deonis пишет:
Достаточно ли будет использовать для входа в админку сайта только сессии?
Достаточно. Дополнительно - включите также http_only для сессий для затруднения XSS-атак.
Ещё один способ укрепить безопасность - привязывать сессию к IP-адресу посетителя (записывая его в ту же сессию), и, при смене адреса, разрывать сессию и предлагать авторизоваться снова.
Deonis пишет:
пароль хорошо шифруется (XOR).
- значит, плохо шифруется, потому что достаточно двух перехваченных сообщений с XOR, чтобы расшифровать данные (если речь идёт о "классическом" XOR). Используйте хеш-функцию + соль.
3. Deonis - 24 Июля, 2013 - 14:03:44 - перейти к сообщению
EuGen пишет:
привязывать сессию к IP-адресу
Не будет ли проблем, если ip динамический?
EuGen пишет:
Используйте хеш-функцию + соль.
Да, думаю, что вы правы.
4. EuGen - 24 Июля, 2013 - 14:06:59 - перейти к сообщению
Deonis
Смена IP-адреса, как правило, происходит редко (раз в несколько часов) - почти всегда это намного дольше, чем время сессии (то есть времени работы с веб-приложением). Однако, если работа с веб-интерфейсом действительно имеет большую длительность, то я бы рекомендовал давать возможность некоторым пользователям самостоятельно устанавливать флаг дополнительной защиты, то есть проверку IP-адреса (по-умолчанию включено), либо бы возложил эту функцию (разрешение некоторым пользователям входить без проверки IP-адреса) на администратора.
Смена IP-адреса, как правило, происходит редко (раз в несколько часов) - почти всегда это намного дольше, чем время сессии (то есть времени работы с веб-приложением). Однако, если работа с веб-интерфейсом действительно имеет большую длительность, то я бы рекомендовал давать возможность некоторым пользователям самостоятельно устанавливать флаг дополнительной защиты, то есть проверку IP-адреса (по-умолчанию включено), либо бы возложил эту функцию (разрешение некоторым пользователям входить без проверки IP-адреса) на администратора.
5. Deonis - 24 Июля, 2013 - 14:09:25 - перейти к сообщению
EuGen, спасибо. Вопрос можно считать закрытым.
6. Проклятый принц - 24 Июля, 2013 - 14:13:24 - перейти к сообщению
Я слышал, что переменную и в том числе сессию, можно подкинуть. Пример от подобной атаки выглядило примерно так: если пост или гэт совподает с названием сессии или кука, то экзит.
Не знаю, реально ли это всё. Если реально, обязательно мне надо поставить защиту.
Не знаю, реально ли это всё. Если реально, обязательно мне надо поставить защиту.
7. soffrick - 24 Июля, 2013 - 14:18:37 - перейти к сообщению
Проклятый принц пишет:
Я слышал, что переменную и в том числе сессию, можно подкинут
сессию или куку?
8. Проклятый принц - 24 Июля, 2013 - 14:22:02 - перейти к сообщению
soffrick пишет:
сессию или куку?
Проклятый принц пишет:
Я слышал, что переменную и в том числе сессию, можно подкинут
сессию или куку?
Да, что-то в этом духе слышал.
Мол, именно поэтому при написании капчи, в самом начале кода, сессия отвечающая за рандомную строку, в начале очищают по принцепу $_SESSION[rand] = "", а лишь потом устанавливают ей рандомное значение.
9. EuGen - 24 Июля, 2013 - 14:44:39 - перейти к сообщению
Проклятый принц
Почитайте про механизм работы сессии и все вопросы отпадут. Кроме того - право, не стоит верить всему, что услышали.
Почитайте про механизм работы сессии и все вопросы отпадут. Кроме того - право, не стоит верить всему, что услышали.
10. soffrick - 24 Июля, 2013 - 14:47:16 - перейти к сообщению
возможно имелось ввиду "подкинуть" значение куки php_sessid для получения данных сессии
11. Проклятый принц - 24 Июля, 2013 - 14:47:21 - перейти к сообщению
EuGen пишет:
Проклятый принц
Почитайте про механизм работы сессии и все вопросы отпадут. Кроме того - право, не стоит верить всему, что услышали.
Почитайте про механизм работы сессии и все вопросы отпадут. Кроме того - право, не стоит верить всему, что услышали.
Извиняюсь на счёт сессии: "лишнего в одно ведро положил".
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- // MAGIC_COOKIE получена из достоверного источника.
- // Для полной уверенности необходимо проверить ее значение.
- echo "Обнаружено нарушение безопасности, администратор уведомлен.";
- exit;
- } else {
- // MAGIC_COOKIE в данных запроса не присутствует
- }
- ?>
Из источника: http://www.php.su/security/?globals
Да-да, про сессию я явно "лишканул".