Есть сайт, на страницах которого (помимо контента) должны появляться "служебные" ссылки - "Редактировать" и "Удалить страницу". Понятно, что обычному посетителю они ни к чему, эти ссылки должны быть видны только администратору.
Сейчас это реализуется таким способом: в админке устанавливается переменная $_SESSION['key'] = trye; а в шаблоне отдаваемой посетителю страницы выполняется проверка существования этой переменной:
if (isset($_SESSION['key']))
{
echo '<a href="'. MY_HOST. 'admin">Редактировать</a>';
}
То есть - если ты не зашел в админку, то переменная не устанавливается и эти ссылки не отображаются.
Вопрос: насколько правилен подобный подход - как с точки зрения безопасности, так и с точки зрения логики языка и устоявшихся правил?
Спустя 18 минут, 56 секунд (14.01.2012 - 11:37) nugle написал(а):
dendav
у тебя регистрация есть? если есть, то я делаю так:
добавляю в бд столбец admin. Там можно ограничивать права, к примеру простой юзер 0, модератор 1, админ 2. И уже потом основываясь на права пользователя открывать ему какие то запрещенные для обычного пользователя дополнения
у тебя регистрация есть? если есть, то я делаю так:
добавляю в бд столбец admin. Там можно ограничивать права, к примеру простой юзер 0, модератор 1, админ 2. И уже потом основываясь на права пользователя открывать ему какие то запрещенные для обычного пользователя дополнения
Спустя 5 минут, 9 секунд (14.01.2012 - 11:42) dendav написал(а):
Спасибо за ответ, но увы - регистрации нет, БД не используется.
Спустя 8 минут, 56 секунд (14.01.2012 - 11:51) nugle написал(а):
dendav
а если смотреть на твой вариант, он нормальный, безопасный
а если смотреть на твой вариант, он нормальный, безопасный
Спустя 6 минут, 28 секунд (14.01.2012 - 11:58) johniek_comp написал(а):
а если юзер просто введет эту ссылку через браузер, то он попадет в админку
Спустя 2 минуты, 20 секунд (14.01.2012 - 12:00) inpost написал(а):
dendav
Если такие ограничения, то норм. Единственное не забывай на самих страницах (НЕ ТОЛЬКО МЕНЮ) тоже делать эту же проверку. Проверку перед действием.
А вообще, я в БД храню огромный список прав, там он на каждую запись уникальный.
Если такие ограничения, то норм. Единственное не забывай на самих страницах (НЕ ТОЛЬКО МЕНЮ) тоже делать эту же проверку. Проверку перед действием.
А вообще, я в БД храню огромный список прав, там он на каждую запись уникальный.
Спустя 7 минут, 1 секунда (14.01.2012 - 12:07) dendav написал(а):
Цитата (inpost @ 14.01.2012 - 09:00) |
dendav Если такие ограничения, то норм. Единственное не забывай на самих страницах (НЕ ТОЛЬКО МЕНЮ) тоже делать эту же проверку. Проверку перед действием. А вообще, я в БД храню огромный список прав, там он на каждую запись уникальный. |
Сайт не очень большой, БД не использую, поэтому и приходиться изобретать велосипеды в огромных количествах.
Спасибо.
Спустя 6 минут, 25 секунд (14.01.2012 - 12:14) dendav написал(а):
Цитата (johniek_comp @ 14.01.2012 - 08:58) |
а если юзер просто введет эту ссылку через браузер, то он попадет в админку |
Ну, админка вроде бы как запаролена: не знаешь логин-пароль -> соответственно не можешь войти внутрь и установить переменную сессии -> не видешь служебных ссылок.
Спустя 3 минуты, 44 секунды (14.01.2012 - 12:17) inpost написал(а):
dendav
Я не зря выше написал: Единственное не забывай на самих страницах (НЕ ТОЛЬКО МЕНЮ) тоже делать эту же проверку.
Потому что человек просто подберёт нужную ему ссылку, или подглянет, как ты вводишь.
Я не зря выше написал: Единственное не забывай на самих страницах (НЕ ТОЛЬКО МЕНЮ) тоже делать эту же проверку.
Потому что человек просто подберёт нужную ему ссылку, или подглянет, как ты вводишь.
Спустя 8 минут, 39 секунд (14.01.2012 - 12:26) dendav написал(а):
inpost
Ага, понял. Благодарю.
Ага, понял. Благодарю.