LINUX.ORG.RU

Вредоносный код в постах


0

2

Доброго времени суток, лор
пишем злобную пародию на форум
посоветуйте, чего почитать по поиску и обезвреживанию вредоносного кода в постах
сейчас листаю исходники лора

★★★★

Ответ на: комментарий от TERRANZ

да, экранирование всяких <script> и т.д.

Мне кажется в этом вашем похапэ есть функция, которая как-то так и называется типа escape_http_entities.

NightmareZz
()

Запретить html код вообще не вариант? Просто вставлять как есть, а <>«' и иже с ними автоматически экранировать? Кажись даже функа такая была. В крайнем случае можно на жаве самому написать.

AlexCones ★★★
()
Ответ на: комментарий от AlexCones

вообще не вариант, командой было принято решение делать форматирование html тегами, вида <h1>

TERRANZ ★★★★
() автор топика
Ответ на: комментарий от AlexCones

собственно, сейчас такая идея и есть я написал простенький лексер который ищет < и > и проверяет то, что внутри на «плохие» слова, вида script и embed и, в случае, если находит - заменяет стрелки на &lt

TERRANZ ★★★★
() автор топика
Ответ на: комментарий от AlexCones

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

TERRANZ ★★★★
() автор топика
Ответ на: комментарий от xpahos

язык уже был озвучен

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

trashymichael ★★★
()
Ответ на: комментарий от TERRANZ

> я написал простенький лексер который ищет < и > и проверяет то, что внутри на «плохие» слова

Не делай так, всегда помни про мэйлрушечку, которую ломали 100500 раз такими хитрыми тегами. Уж лучше как на ЛОРе - всё значимое в квадратных скобках. Если совсем никак, то проверяй хотя бы этим:
http://ha.ckers.org/xss.html

SOmni ★★
()
Ответ на: комментарий от TERRANZ

> у нас java+spring

А писал бы как нормальные люди на php, в твоём распоряжении была бы функция strip_tags, которой даже список разрешённых тегов указать можно.

r_asian ★☆☆
()

В движке gamedev.ru под названием Skif такая фигня поддерживается. Но он тоже вроде на пхп.

static_lab ★★★★★
()

Вариантов куча, в зависимости от того что у тебя на входе и что ты хочешь получить. Начиная с гула по «java strip tags», заканчивая написанием DTD схемы.

bjorn
()
Ответ на: комментарий от Miguel

А писал бы как нормальные люди на php

Спасибо, поржал.

Пока ты ржёшь, нормальные люди пишут и не парятся всякой фигнёй :) Под PHP я бы посоветовал ещё Jevix, эта либа вообще сразу кучу проблем с форматированием решает.

Wizard_ ★★★★★
()
Ответ на: комментарий от Miguel

Пишут, конечно. Но не на пыхе ж.

Веб писать на PHP — это нормально. Он заточен под это. Много библиотек на PHP написано под это дело.

Wizard_ ★★★★★
()
Ответ на: комментарий от Wizard_

внезапно, веб пишут не только на пыхе

TERRANZ ★★★★
() автор топика
Ответ на: комментарий от TERRANZ

А зря, вменяемые проекты выбирают markdown.

anonymous
()
Ответ на: комментарий от Miguel

Ни веб под пых не заточен, ни наоборот.

Ну-ка, покажи аналог того же приведённого мной Jevix ( http://jevix.ru/ ) на Java, к примеру. Или на Питоне. Или на чём ты там пишешь сайты?

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

Wizard_ ★★★★★
()
Ответ на: комментарий от TERRANZ

cобственно, сейчас такая идея и есть я написал простенький лексер который ищет < и > и проверяет то, что внутри на «плохие» слова, вида script и embed и, в случае, если находит - заменяет стрелки на &lt

ага, ф детстве так соревновались с разрабами одного местного web-чатика. кто больше плохих слов знает. плюс всякие <хорошее_слово onЧтоТоТам=«плохие слова»>. достаточно долго эта спецолимпиада продолжалась :)

anon1984
()

<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>




import org.apache.commons.lang.StringEscapeUtils;

String escaped = StringEscapeUtils.escapeHTML(unescaped);

Slavaz ★★★★★
()
Ответ на: комментарий от Miguel

Я же ссылку дал. Вот тут описание: http://jevix.ru/project/

Это типограф, который осуществляет форматирование введённого пользователем текста, приведение его к стандартам печати. При этом он гибко настраивается для любых нужд. Используется на столь любимой многими Хабре, вот список постов по поводу этого типографа: http://habrahabr.ru/tag/jevix/

Wizard_ ★★★★★
()
Ответ на: комментарий от TERRANZ

php

посоветуйте, чего почитать по поиску и обезвреживанию вредоносного кода в постах

у пехапе есть htmlspecialchars() или addslashes() чтоли..

посоветуйте, чего почитать по поиску и обезвреживанию вредоносного кода в постах

а код на чём хоть будет?

nyash
()
Ответ на: комментарий от Wizard_

Вот тут описание

Это не описание, это отписка. «Средство автоматического применения набора правил» my ass. Под это вообще что угодно подходит.

Используется на столь любимой многими Хабре

И ещё в одном месте, судя по этому «описанию». То есть, считай, нигде.

При этом оно ещё и не работает (попытался ввести в поле исходный код главной страницы гугля — кнопка «обработать» не сделала ничего вообще).

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

Это не для форматирования кода (для этого можно настроить специальный тег code), это форматирование введённого пользователем текста. Возьми нормальный текст с большим количеством типографских знаков и пропусти через него.

Wizard_ ★★★★★
()
Ответ на: комментарий от Wizard_

Ну, на второй странице советуют ввести URL, после чего этот «типограф» выдаёт странно покорёженный исходный код. Я думал, он его и кушает.

Документации-то нет, и примеров тоже. Что как бы намекает на степень нормальности авторов.

Miguel ★★★★★
()

в итоге, остановился на библиотеке Jsoup, пользую JSoup.clean со своим набором вайтлиста

TERRANZ ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.