Ну вот очередные мои потуги понять ООП и начать-таки писать блог именно на ООП. Уже начал писать на функциях, но все же хочу ООП.
Вот небольшой набросок, как оно примерно будет (будет ли...)
Это похоже на ООП?
Ну вот когда я добавляю статью, то можно сразу делать и пункт меню в нужной категории. А если например я захочу вывести менб категорий, меню записей по дате и т.д и т.п....
Вообщем я что-то и сам пока не въеду, как лучше.
Хочется как можно проще, чтобы не приходилось постоянно лазить в код и писать очередной пункт в массиве, и инклюдить новый файлик меню в новой позиции...
Писать все массивы в один файл не получится. Для каждого меню делать отдельный файл? Или все же писать меню в базу?
Это что же получится, каждое обновление страницы - запрос в БД и отрисовка меню?
Сижу вот второй день и думаю, как и где нужно хранить меню..?
Пишу свой первый блог, дошел до меню. Собственно менюшек будет много. Одно горизонтальное главное, одно горизонтальное в админке + боковые меню категорий и записей...
Я так понимаю, хранить меню нужно в массиве. Точнее хранить по барабану как, но в массиве удобно. Плюс еще нужно предусмотреть возможность изменения существующих меню и их создание/удаление из интерфейса админки. Хранение массива меню в файле для этого мало подходит.
Ну например с верхним меню админки все просто - его можно жестко проинклюдить, так как оно практическ не будет меняться.
А как быть с другими? Писать ручками массив для каждого меню - не вариант. Значит нужно хранить все данные менюшек в БД?
vanicon
Вот вы говорите, что у вас соль лежит в приложении. Я так понимаю она одна и скорее всего это какая-то константа. В коде ведь не будешь хранить соль для каждого пользователя.
Мне кажется надежнее хранить соль в базе - уникальную для каждого.
PS
Я еще читал про crypt, но так ничего и не понял. Вроде пишут, что он лучше md5, но там вроде алгоритм зависит от системы, или как-то так...
Ну в общих чертах, как я понял, можно использовать приведенный мною пример и сохранять сгенерированную соль в базе рядом с паролем пользователя.
Правильно?
Всем спасибо, буду читать.
Ну в общих чертах, как я понял, можно использовать приведенный мною пример и сохранять сгенерированную соль в базе рядом с паролем пользователя.
Правильно?
Лучше конечно хранит в отдельном файле (что бы было легче менять)
А при шифровки и расшифровки инклудить этот файл.
А зачем ее менять?
Если к примеру зарегистрировался пользователь User с паролем password и я его пароль зашифровал с солью salt, то я должен хранить эту соль пока активен User. (Добавление)
DelphinPRO пишет:
Denkill пишет:
Соль ставишь статистическую типо $salt = "salt";
Необязательно.
Некоторые системы (например Joomla, а ее думаю не дураки писали?) хранят соль в базе, причем соль для каждого юзера уникальная.
Вот и я о том же.
Соль-то для чего нужна? Если ломанули БД,то без соли пароли не расшифруют(наверно...). А если соль в БД лежит, и пусть даже уникальная для каждого пользователя, то в чем ее смысл?
И что? Я ведь должен записать куда-то сгенерированную соль, чтобы потом авторизовать пользователя. Если соль не сохранять, то потом невозможно будет сверить пароль.
Вопрос: где хранить соль? В базе? Тогда смысл...
function form_clean($x, $y = 'db') // принимаем координаты не пойми чего для получения не пойми чего
ну хотя бы у функции название нормальное
Ну мне так удобнее (Добавление)
EuGen пишет:
Hapson
0. Нет смысла использовать addslashes и mysql_real_escape_string вместе.
1. Вообще, функции mysql_* являются устаревшими, вместо них следует использовать расширение mysqli
2. Недопустимо использовать проверку на html-сущности при записи в БД. Это портит пользовательский ввод и может привести к коллизиям. Так, к примеру, md5(htmlspecialchars('<')) совпадёт с md5(htmlspecialchars('<')) - что является ошибкой. Общий совет - каждая проверка нужна в своём месте. Если данные из БД в дальнейшем отображаются в приложении - то именно там и нужно перед выводом пропускать данные через функции проверки на html
Они не вместе.
addslashes - если пишется в файл
mysql_real_escape_string - если пишется в БД.
А вот mysqli у меня что-то не работает... почему-то. Подключены и mysql и mysqli, MySQL 5.5