| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > bbcode XSS |
| Автор: neoks 20.9.2012, 14:36 | ||||
| Собственно делаю сейчас новый bbcode и мне сказали что preg_match или preg_replace это верный путь к XSS и что нуно другое использовать сказав лишь что смотри как устроено в других bbcodes Так вот мне интересует каким же еще способом можно это сделать ? облазил весь гугл и не знаю как же этот способ называется хоть ? )) буду очень признателен если хоть подскажите в какую сторону хотя бы рыть ) И еще вопрос, фильтрую данные SQL запроса в бд и говорят что mysql_real_escape_string не поможет защитится от SQL injection, так ли это ? Конечно правильно запрос составить это одно, банальный типа этого это другое
такой запрос конечно банальный и разумеется не защитит А вот например вот такой ?
В доке почитал что там знак % не экранируется, что это значит и что за этим может повлечь ? |
| Автор: Sanchezzz 20.9.2012, 17:42 | ||
| mysql_real_escape_string нормальный инструмент и правильно работает в отличии от addslashes который не понимает мултибайтовых символов А процент то вам что сделал ? это нормальный символ которые если размещать в кавычках вам нечего не скажет и не навредит
preg_match или preg_replace а это как к инекции относится? Для проверки и манипуляции с текстом это нормальный инструмент + на финальный шаг mysql_real_escape_string Про способ используй preg_replace для нахождения и замены просто учти, что у тега нет атрибутов а если хочется, чтобы были то нужно их обработать. |
| Автор: neoks 20.9.2012, 17:57 |
Это я писал про bbcode мов в редакторе мона какуета каку написать и получить XSS, как я понял если там используется оператор e то если пошаманить и без должной проверки мона получить XSS, но мне сказали что мов это все устарело и смотри современные bbcode-ы типа wysiwyg Пока еше не смотрел и буду выяснять что же там такого особенного что они не используют preg_match и preg_replace )) |
| Автор: GZep 20.9.2012, 18:17 |
| neoks, используйте либо готовый велосипед, либо связку mysql_real_escape_string - для mysql и htmlspecialchars - для html. Советую все-таки взять готовый велосипед хотя бы за основу. |
| Автор: ksnk 20.9.2012, 18:56 |
Угу. Катайся на современом велосипеде типа джЫп Хотя визивиг не так уж и сложен, и не так уж и страшен для сайта. Нужно только научится корректно фильтровать всю муть, которую народ захочет обязательно понавставлять из ворда и с других сайтов - выкидывать лишние стили, пристреливать скрипты и конвертировать полезные стили в "употребительные на сайте". Разумнее всего первоначальный фильтр написать на javascript, чтобы грузить не сервер а "резиновый" клиентский компьютер. Насчет приличных bbcode-велосипедов можно посмотреть в сторону открытых cms. Те плагины, которые включены в стандартную сборку и будут "приличными". |
| Автор: GZep 9.10.2012, 17:00 |
| neoks, если еще делаете, то вот, может поможет: http://bbcparser.recgr.com/index.php |