![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| madFobos |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 7.12.2005 Репутация: 1 Всего: 3 |
Для этого, кстати, существует такая вещь как LOCK TABLE..., а INNODB кажется вобще автоматом блокируют таблицы. |
|||
|
||||
| sugee |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
убрал AUTO_INCREMENT в таблице message. Вставку теперь делаю так
Функционально, конечно, ничего не изменилось, просто раньше я делал это через ж... ИМХО не всё равно, каким способом ты добиваешься своей цели, особенно если выкладываешь код на всеобщее обозрение. В общем спасибо, что открыл мне глаза на очевидную вещь |
||||
|
|||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Пора писать админку... Админку то я напишу, но в связи с этим возникает один очень важный вопрос.
Как наилучшим образом (с точки зрения безопасности, естественно) организовать доступ у ней? В БД, в таблице members я добавил поле status, в котором могут быть три значения: 'us' - пользователь, 'adm' - админ и 'moder' - модератор. Любой кто зарегистрировался на форуме естественно получает статус `us`. Вопрос в том, каким образом должен осуществляться доступ к интерфейсу администрирования для пользователя у которого в поле `status` записано 'adm'. Можно конечно в общей для всех функции авторизации проверять статус, и если статус админ, то выводить ссылку для входа в админку. При этом если админка будет поключаться через index.php, то доступ будет осуществлятся через GET, что мне явно не подходит. Если же это будет ссылка на отдельный скрипт, то тот кто каким-то образом узнал его адрес, сможет зайти без всякого пароля. На этот случай при входе в админку ещё раз проверяем имя записанное в сессии, и смотрим действительно ли у человека с таким ником статус админа. В общем вот что я хотел спросить, мне остановиться на последнем варианте, или есть идеи получше? |
|||
|
||||
| madFobos |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 7.12.2005 Репутация: 1 Всего: 3 |
А чем тебя не устраивает доступ через GET? Вобще доступ к любой разделу сайта лучше делать через одну страницу (типа index.php). Далее ты можешь создать папку типа admin с админкой и делать запрос типа
http://site.ru?mod=a&action=some В index.php проверяешь соответственно его на существовине как-то так
Еще более навороченный вариант, ты можешь создать таблицу типа rights и указать права на все папки, а через index.php соответсвенно грузить их только по правам. И если тебе не нравится вариант http://site.ru?mod=a&action=some, используй mod_rewrite и можешь получить нечто вроде http://site.ru/mod/a/action/some.html З.Ы. Ну и самое простое ты можешь создать папку admin и тупо запаролить ее с помощью .htaccess, но это не лучший вариант, т.к. динамика при этом сильно теряется. Это сообщение отредактировал(а) madFobos - 28.5.2006, 02:08 |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Так ведь весь путь к закрытому разделу в адресной строке отображается.
Авторизация на главной странице форума у меня производится по куке, по этому в данном случае доверять только ей нельзя. Поэтому после перехода по ссылке админ должен будет как обычно ввести свой логин-пароль. Вобщем, так буду делать. |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Послушайте друзья, а как обычно выглядит админка на форуме, я никогда не видел
Можно конечно сделать для администрирования отдельный интерфейс, где так же как обычно просматриваются темы, но напротив каждого поста стоят кнопочки "удалить", "редактировать" и т.д. Тогда в админке придётся продублировать все функции вывода. Но мне представляется заманчивой такая картина. Админ заходит на форум. Поскольку его статус 'adm', под приветствием наверху страницы появляется ссылка "Администрирование". Перейдя по этой ссылке он попадает на страницу для ввода логина и пароля администратора, чтобы подтвердить что он действительно администратор. После подтверждения он получает сессию, которая даёт ему доступ к функциям администрирования и перенаправляется на главную страницу. Когда он будет просматривать тему, для него на панели инструментов будут выведены те самые кнопочки "удалить", "редактировать" и т.д., помимо стандартных кнопок типа цитаты или инструментов форматирования. То есть отдельного админского интерфейса не будет, просто пользователь с более высоким статусом будет иметь в распоряжении дополнительные кнопки. Как вам такой вариант? Это сообщение отредактировал(а) sugee - 29.5.2006, 00:15 |
|||
|
||||
| madFobos |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 7.12.2005 Репутация: 1 Всего: 3 |
В том-то и дело, что раздел закрытый и даже если ты его знаешь без авторизации все-равно не попадешь (если ты не кул-хацкер конечно Непонятно только зачем ссылка "Администратирование". Вошел под админом, показывается твой статус и все. Вобще непонятно, зачем повторно вводить логин и пароль? Как это безопасность-то повысит? |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Нет, пароль вводится один раз. Когда человек(с любым статусом) заходит на сайт его сначала узнают по куке.
В куке содержится такая вещь Для того чтобы простой пользователь был авторизован этого достаточно. Но админ обязательно должен ввести пароль, поскольку с его компа может зайти и кто-то другой. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |