Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Несколько простых вопросов!
Покинул форум
Сообщений всего: 9
Дата рег-ции: Июнь 2008
Помог: 0 раз(а)
Привет! Я только начинаю активно ковырять пхп, и черпаю информацию , в основном, из всяких примеров в сети. Так вот, многие штуки там делаются совершенно по разному -_-
Подскажите как правильней!
1) Сейчас мои страницки представляют собой большуую мешанину пхп и хтмл кода... Хочу вынести оформление в шаблончики. Мне не нужны особые гипервозможности, хотелось бы просто визуально очистить код ^^
Итак вопрос - допустим у меня есть табличка, строки которой заполняет скрипт.
например я могу написать файлик с шапкой и типовой строчкой.
пусть например типовая строка выглядит так:
ну и тд, тоесть заранее включить все оформление в код...
Это должно быть самым быстрым, но меня пугает что придется подгружать сразу все оформление, даже то которое не используется.... -_-
Как лучше? Или это вообще все бред? Y^^
2) Мускульь!!! Вопрос, наверное, самый заезженный но всеже:
из формы пришла строка которую надо засунуть в базу.
что с ней сделать, чтобы она точно была безопасна?
Я видела несколько вариантов:
htmlspecialchars потом обрезание.
обрезанние а потом mysql_real_escape_string
htmlspecialchars потом обрезание а потом mysql_real_escape_string
Как правильнее-то? я пока не очень понимаю какие именно символы позволяют сделать иньекцию -_-
3) И еще вопросиик! Допустим мя сделала-таки шаблончики для оформленния... а как их правильнее хранить, чтобы любопытные не смотрели как там и что?
положить в специальную папку, и хтаккессом запретить туда заходить?
или дать на них разрешения особые?
или в каждом проверять сессию? (бреед)))
или хранить их в папке недоступной для веб сервера?
Написано наверно сумбурно, но все-таки, помогите разобраться пожалуйста!
EuGen
Отправлено: 07 Июня, 2008 - 10:55:20
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
1. Храните в шаблоне некоторый признак того, что строка повторяется, и потом в цикле выводите туда Ваши данные, и только в том случае, если Вам действительно нужно их туда выводить.
2. От SQL-Injection спасает понимание того, что Вы делаете в каждый конкретный момент. Функция mysql_real_escape_string хороша тем, что экранирует все специальные для синтаксиса SQL символы (кстати, очень рекомендую в этом самом синтаксисе хорошенько разобраться). htmlspecialchars пригодится при выводе данных в браузер (чтобы избежать неожиданного поведения страницы при отображении пользовательского ввода - этот самый ввод может содержать в себе html-теги, javascript и пр.)
3. Храните их в директории, не доступной пользователю из веб. Например, такая структура:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.