информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медЗа кого нас держат?Портрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 700 с лишним git-серверов пострадало... 
 От повторного пришествия Шаи-Хулуда... 
 Крупный сбой Azure и других сервисов... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[CGI] дальше 14.02.02 12:26  Число просмотров: 1083
Автор: madazulu <Alexander> Статус: Member
Отредактировано 14.02.02 12:27  Количество правок: 1
<"чистая" ссылка>
> > Есть какая то форма которую заполняет Хитрый Юзер, все
> > есессно пишется в mysql
> >
> > Среди бывают еще и Хульные Клацкеры, которые могут
> допустим
> > выделить, заполненный в форму какой-то текст, путем
> тега
> >Bили еще чего нибуть впишут туда вплоть до JS
> >
> > так вот спрашивается как бороться с тегами, спец
> символами
> > и прочее? в каком направлении идти?
>
> самый простой способ - делать на строку ф-ю
> htmlspecialchars() , которая заменит все < > и т.п.
> на < >

ну допустим заменит ф-я, а отображатся как я понимаю тоже будет типа "у меня <>большой<> телевизор"?
как быть со спец символами?

З.Ы. http://www.geeboo.f2s.com/scriptTest.php3?code=nomat - полный РУЛЕЗЗ!!! особенно, прости господи, "ебал в рот" :)))
<programming>
[PHP + MySQL] фильтр тегов (общий вопрос) 14.02.02 11:56  
Автор: madazulu <Alexander> Статус: Member
<"чистая" ссылка>
Есть какая то форма которую заполняет Хитрый Юзер, все есессно пишется в mysql

Среди бывают еще и Хульные Клацкеры, которые могут допустим выделить, заполненный в форму какой-то текст, путем тегаBили еще чего нибуть впишут туда вплоть до JS

так вот спрашивается как бороться с тегами, спец символами и прочее? в каком направлении идти?
[CGI] [PHP + MySQL] фильтр тегов (общий вопрос) 14.02.02 12:05  
Автор: paganoid Статус: Member
<"чистая" ссылка>
> Есть какая то форма которую заполняет Хитрый Юзер, все
> есессно пишется в mysql
>
> Среди бывают еще и Хульные Клацкеры, которые могут допустим
> выделить, заполненный в форму какой-то текст, путем тега
>Bили еще чего нибуть впишут туда вплоть до JS
>
> так вот спрашивается как бороться с тегами, спец символами
> и прочее? в каком направлении идти?

самый простой способ - делать на строку ф-ю htmlspecialchars() , которая заменит все < > и т.п. на < >
[CGI] дальше 14.02.02 12:26  
Автор: madazulu <Alexander> Статус: Member
Отредактировано 14.02.02 12:27  Количество правок: 1
<"чистая" ссылка>
> > Есть какая то форма которую заполняет Хитрый Юзер, все
> > есессно пишется в mysql
> >
> > Среди бывают еще и Хульные Клацкеры, которые могут
> допустим
> > выделить, заполненный в форму какой-то текст, путем
> тега
> >Bили еще чего нибуть впишут туда вплоть до JS
> >
> > так вот спрашивается как бороться с тегами, спец
> символами
> > и прочее? в каком направлении идти?
>
> самый простой способ - делать на строку ф-ю
> htmlspecialchars() , которая заменит все < > и т.п.
> на < >

ну допустим заменит ф-я, а отображатся как я понимаю тоже будет типа "у меня <>большой<> телевизор"?
как быть со спец символами?

З.Ы. http://www.geeboo.f2s.com/scriptTest.php3?code=nomat - полный РУЛЕЗЗ!!! особенно, прости господи, "ебал в рот" :)))
[CGI] дальше 14.02.02 14:04  
Автор: paganoid Статус: Member
Отредактировано 14.02.02 14:05  Количество правок: 1
<"чистая" ссылка>
>
> ну допустим заменит ф-я, а отображатся как я понимаю тоже
> будет типа "у меня <>большой<> телевизор"?
> как быть со спец символами?

ну это не самый плохой вариант, кстати. Тут надо сразу определяться, что ты хочешь получить.

варианты
а) как указано выше, увидишь "вот [b]это[/b]"
б) удалять теги с помощью strip_tags, увидишь "это "
в) удалять с помощью strip_tags все кроме безопасных тегов - нарвёшься на опасные аттрибуты стилей
в) писать свой парсер с помощью regexp - самый оптимальный вариант.

после этого начинаются заморочки с переводом каретки, но это отдельная песня...

>
> З.Ы. http://www.geeboo.f2s.com/scriptTest.php3?code=nomat
> - полный РУЛЕЗЗ!!! особенно, прости господи, "ххххх"
> :)))

да я просто озверел, 15 000 матерных выражений, различных по значению
просматривать :) Там есть еще всякие приколы...
[CGI] дальше 14.02.02 14:28  
Автор: madazulu <Alexander> Статус: Member
<"чистая" ссылка>
> ну это не самый плохой вариант, кстати. Тут надо сразу
> определяться, что ты хочешь получить.
>
> варианты
> а) как указано выше, увидишь "вот [b]это[/b]"

я не уловил а в чем польза [][/]...

> б) удалять теги с помощью strip_tags, увидишь "это "
> в) удалять с помощью strip_tags все кроме безопасных тегов
> - нарвёшься на опасные аттрибуты стилей

Попробую а,б,в. Сенкс за подсказку.

> г) писать свой парсер с помощью regexp - самый оптимальный
> вариант.
>
> после этого начинаются заморочки с переводом каретки, но
> это отдельная песня...

За неимением опыта про вариант "Г" даже думать и страшно.
Если не трудно напиши в чем заключается "физический смысл" "писать свой парсер с помощью regexp". Как я понял ЭТО перебирает символы, сверяет с "черным списком" и удаляет\заменяет всё не нужное. жаль что для меня пока это глухие дебри :))
[CGI] дальше 14.02.02 17:30  
Автор: paganoid Статус: Member
<"чистая" ссылка>
> > ну это не самый плохой вариант, кстати. Тут надо сразу
> > определяться, что ты хочешь получить.
> >
> > варианты
> > а) как указано выше, увидишь "вот [b]это[/b]"
>
> я не уловил а в чем польза [][/]...

ну просто если бы я написал < b > asdfas < / b > , то это заменилось бы
на asdasd . Посему я заменил < на [

польза в том, что нельзя вставить жабаскрипт и видно сразу, кто где как гадит. Продвинутые юзеры обламываются, поскольку отформатировать текст не могут.


> За неимением опыта про вариант "Г" даже думать и страшно.
> Если не трудно напиши в чем заключается "физический смысл"
> "писать свой парсер с помощью regexp". Как я понял ЭТО
> перебирает символы, сверяет с "черным списком" и
> удаляет\заменяет всё не нужное. жаль что для меня пока это
> глухие дебри :))

к примеру, тебе надо оставить тэг нуу.... < P > , вычистить из него атрибуты, а в остальных тегах заменить < на & lt;

тогда
	$text = eregi_replace ("<p[^>]*>" , ("{{{p}}}"), $text);	   
	$text = htmlspecialchars($text);	   
	$text = eregi_replace ("{{{p}}}>" , ("<p>"), $text);	   

---
справку по регекспам дать не готов, "это тема отдельной статьи" хыхых ,
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach