Forum. MyNuke.ru
Forum. MyNuke.ruСообщения за сегодняПерсональные сообщения

Навигация  
Вернуться   Forum. MyNuke.ru > PHP-NUKE > Безопасность
Ник
Пароль
Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Alexander-V-Sh вне форума      Старый filter и filter nohtml #1  
Аватара для Alexander-V-Sh
Alexander-V-Sh
Бывалый
Регистрация: 19.04.2006
Сообщения: 352


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Alexander-V-Sh Посетить домашнюю страницу Alexander-V-Sh Найти все сообщения от Alexander-V-Sh Добавить Alexander-V-Sh в список друзей  
14.11.2006, 20:29

Возник вопрос, касайющийся оптимизации, но его осуществимость зависит от безопастности.

Фильтр переменных.
$text=filter($text);
Нужен ли он, при выводе данных из базы? При записи, а особенно от посетителей - необходим. Даже через админ панель пусть будет. А при выводе?

И еще фильтр для заголовков:
$text=filter($text, "nohtml");
Чем он лучше:
$title = strip_tags($title);
?

Просто разница в 50-100раз по нагрузке (при проводе 1 слова 10.000раз):

С параметром nohtml:
Генерация страницы: 16.86
Генерация страницы: 17.05

Просто фильтр:
Генерация страницы: 9.197
Генерация страницы: 8.201

Без фильтра или с strip_tags:
Генерация страницы: 0.177
Генерация страницы: 0.147

Просто запросы в БД идут быстро, а генерация страницы - 0.1 до 0.4 сек. (это на 1 пользователя). Удалив фильтры, можно уменьшить раза в 2-5 пачти (особенно при выводе больших листингов заголовков).

Но конечно безопасность важнее :) Поэтому вопрос задал в этой теме.

Последний раз редактировалось Alexander-V-Sh, 14.11.2006 в 20:34.

Alie вне форума      Старый #2  
Alie
Участник+
Регистрация: 20.03.2006
Сообщения: 153


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Alie Найти все сообщения от Alie Добавить Alie в список друзей  
15.11.2006, 12:53

По идее, если запись html тэгов невозможна даже в кодированом варианте - тогда можно и убрать...

Soniks вне форума      Старый #3  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
17.11.2006, 02:32

фильтрация при выводе не обязательна, но так как php-nuke дырявая и если злоумышленнику удастся скажем добавить в БД XSS код, то хоть при выводе его на экран он будет обезврежен, если конечно правильно фильтр будет применен.
А если делать все по уму и четко отслеживать переменные, то от этой фильтрации можно отказаться
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


Alexander-V-Sh вне форума      Старый #4  
Аватара для Alexander-V-Sh
Alexander-V-Sh
Бывалый
Регистрация: 19.04.2006
Сообщения: 352


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Alexander-V-Sh Посетить домашнюю страницу Alexander-V-Sh Найти все сообщения от Alexander-V-Sh Добавить Alexander-V-Sh в список друзей  
21.11.2006, 16:44

Меняю сейчас все:

$title = filter($row['parent'], "nohtml");

на

$title = strip_tags(htmlspecialchars($row['title']));

Быстрее работает :)

Alie вне форума      Старый #5  
Alie
Участник+
Регистрация: 20.03.2006
Сообщения: 153


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Alie Найти все сообщения от Alie Добавить Alie в список друзей  
22.11.2006, 11:40

если Post код вдолбят - обидно будет сайт терять.... а намного быстрей? может тоже переделаю:)

Alexander-V-Sh вне форума      Старый #6  
Аватара для Alexander-V-Sh
Alexander-V-Sh
Бывалый
Регистрация: 19.04.2006
Сообщения: 352


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Alexander-V-Sh Посетить домашнюю страницу Alexander-V-Sh Найти все сообщения от Alexander-V-Sh Добавить Alexander-V-Sh в список друзей  
22.11.2006, 16:54

Alie

Если фильтр используется чаще 20-30 раз, то смысл есть. Секунды 0.1 точно выйграешь. (у меня было, 0.30, стало 0.15-0.2)

К примеру вывод заголовков новостей (штук 50 их на странице). Вывод новостей. (10 новостей+10разделов+10категорий+10авторов и т.д.) - тож много получается.

Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация PHP-NUKE Soniks Настройка и Изменение 12 04.04.2006 03:23


Часовой пояс GMT +4, время: 10:07.


На Верх
Рейтинг@Mail.ru