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 :: Текст без кода и htmlspecialchars [2]
[РНР]// some expressions for getting info from DB when using do-while and mysql_fetch_array ...
$row["user_message"] = 'text text <?php print phpinfo() ?> text text smiles text text ';
Покинул форум
Сообщений всего: 48
Дата рег-ции: Июнь 2013
Помог: 1 раз(а)
Мелкий пишет:
А это была математика школьной программы
Расширим случай "для программистов" на + вывод математических формул. В любом случае, htmlspecialchars применяться не ко всей текстовой строке сообщения, к специально предназначенной для этого подстроке, ограниченной тегами <code></code>. И опять же в этом случае получается что htmlspecialchars - для вывода участков кода (управляющих символов html) в тексте, а не для фильтрации всего текста от XSS и прочих атак.
Покинул форум
Сообщений всего: 48
Дата рег-ции: Июнь 2013
Помог: 1 раз(а)
AlexAnder пишет:
а еще<script>код js</script>
Для этого есть два подхода.
(1) Применение bb-кодов для разметки текста. При этом все сообщение юзера прогоняется через strip_tags, перед парсингом из bb в html. Опять же, htmlspecialchars здесь вроде и не нужен.
(2) Применение html-кодов для разметки текста. Не понимаю, как здесь htmlspecialchars может помочь для фильтрации XSS атак, если нужно сохранять разметку в html. Могут помочь серьезные html-фильтры, но там будет гораздо более серьезная и сложная фильтрация, чем htmlspecialchars. (Добавление)
LIME пишет:
и для фильтрации тоже применяется эта возможность следует из действия ф-ции
Покажите конкретный случай, когда htmlspecialchars целесообразно применять именно для фильтрации, а не для отображения управляющих символов html.
LIME
Отправлено: 13 Июля, 2013 - 13:21:04
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
sadex пишет:
Расширим случай "для программистов" на + вывод математических формул.
любопытный подход
исключить ситуации когда применяется ф-ция и просить привести пример её применения
я фигею)))
а если сейчас кто- то кому не лень придумает текст сообщения мы и этот случай исключим?)))
esterio
Отправлено: 13 Июля, 2013 - 13:38:32
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
Либо Вы просто хитите показать всем нсколько Вы круты и не смотрите что Вам пишут. Либо Вы полностю новичек и не понимаете о чем говорите. Думаю если просто взглянуть в документацию, то отпадут все вопросы. Всему свое место и назначения.
Например нужно показивать такое
Цитата:
<script>alert1(1);</script><b>SOME TEXT HERE</b>
Теперь определите где какая функцияя использована
Цитата:
<script>alert1(1);</script><b>SOME TEXT HERE</b>
Покинул форум
Сообщений всего: 48
Дата рег-ции: Июнь 2013
Помог: 1 раз(а)
LIME пишет:
любопытный подход исключить ситуации когда применяется ф-ция и просить привести пример её применения
Если Вы считаете, что описанные мною два случая исключают целесообразность применения htmlspecialchars, то Вы только подтверждаете то, что мною было сказано при описании этих случаев. (Добавление) esterio, давайте не будем рассматривать случаи, когда что-то нужно показать в браузере из кодов или формул, содержащих управляющие символы html. Представьте, что нужно показывать простые тексты, не содержащие этих символов. В этом случае покажите целесообразность применения htmlspecialchars именно для фильтрации.
LIME
Отправлено: 13 Июля, 2013 - 14:13:44
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
в старых версиях можно было относительно легко обмануть strip_tags
сейчас практически невозможно
я вообще не понимаю что тут столько обсуждать можно
sadex
Отправлено: 13 Июля, 2013 - 14:28:35
Новичок
Покинул форум
Сообщений всего: 48
Дата рег-ции: Июнь 2013
Помог: 1 раз(а)
LIME пишет:
в старых версиях можно было относительно легко обмануть strip_tags сейчас практически невозможно
Для целей фильтрации при использовании bb-кодов strip_tags вещь сильная.
LIME пишет:
я вообще не понимаю что тут столько обсуждать можно
Когда для фильтрации целесообразно применять htmlspecialchars.
LIME
Отправлено: 13 Июля, 2013 - 14:44:55
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
никогда...
soffrick
Отправлено: 13 Июля, 2013 - 15:02:36
Посетитель
Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012 Откуда: Россия, Москва
Помог: 17 раз(а)
sadex пишет:
LIME пишет:
в старых версиях можно было относительно легко обмануть strip_tags сейчас практически невозможно
Для целей фильтрации при использовании bb-кодов strip_tags вещь сильная.
LIME пишет:
я вообще не понимаю что тут столько обсуждать можно
Когда для фильтрации целесообразно применять htmlspecialchars.
тоесть хочешь узнать когда использовать strip_tags, а когда htmlspecialchars ?
----- Правильный вопрос - уже половина правильного ответа!
p.s. индусы повсюду, будьте осторожны!
sadex
Отправлено: 13 Июля, 2013 - 15:42:34
Новичок
Покинул форум
Сообщений всего: 48
Дата рег-ции: Июнь 2013
Помог: 1 раз(а)
soffrick пишет:
тоесть хочешь узнать когда использовать strip_tags, а когда htmlspecialchars ?
Хотя бы это.
Мелкий
Отправлено: 13 Июля, 2013 - 20:58:27
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
sadex пишет:
Представьте, что нужно показывать простые тексты, не содержащие этих символов.
Ну и на каком таком основании вы выкидываете даже те символы, что есть на клавиатуре?
Может, вы ещё из-за возможных проблем с кодировкой предложите вырезать все не-ASCII символы? Ну а что, кому они нужны, кроме пары тройки человек?
Представьте, что нам вообще не надо показывать сообщение. Зачем его тогда хранить? Никакого оверхеда!
Мы, как разработчики, обязаны бережно отнестись к введённому сообщению. Как это сделать безопасно для нас и пользователя - это, простите за вульгарность, наши половые трудности. Пользователь не должен помнить, что ему почему-то нельзя в textarea писать знак < или >, он должен иметь возможность его написать и увидеть впоследствии в своём сообщении.
Поэтому всегда замена на спецсущности.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.