C #. NET текстовый фильтр - PullRequest
1 голос
/ 19 ноября 2011

Я хочу отфильтровать текст в определенном формате.Предположим, у меня есть текст вроде

Lorem Ipsum - просто фиктивный текст в индустрии печати и набора текста.Lorem Ipsum является стандартным фиктивным текстом в отрасли с 1500-х годов, [iframe width="200" height="300"][/iframe] Lorem Ipsum - просто фиктивный текст в полиграфической и наборной индустрии.Lorem Ipsum является стандартным фиктивным текстом в отрасли с 1500-х годов,

, который я хочу преобразовать следующим образом:

Lorem Ipsum - просто фиктивный текст в индустрии печати и набора текста.Lorem Ipsum является стандартным фиктивным текстом в отрасли с 1500-х годов, < iframe width="200" height="300"></iframe > Lorem Ipsum - просто фиктивный текст в полиграфической и печатной индустрии.Lorem Ipsum является стандартным фиктивным текстом в отрасли с 1500-х годов,

Ex2: [caption]My Caption[/caption] покажет <span class="caption">My Caption</span>

Ответы [ 2 ]

1 голос
/ 19 ноября 2011

У Джеймса Девилла есть очень хороший вопрос - вероятно, лучшее решение - использовать систему разметки текста, которая уже была собрана (уценка и т. Д.).

Но если вы решите, сделайте нужно сделать это по-своему (при условии, что будет ввод пользователя):

Просто убедитесь, что НЕ использует что-то вроде s/\[/</ и s/\]/>/.Это сделает вас широко открытыми для уязвимостей.

Кто-то может ввести

[script type="text/javascript" src="http://malicious-server.haxx/XSS.js"]

, который будет переведен в

<script type="text/javascript" src="http://malicious-server.haxx/XSS.js">

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

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

1 голос
/ 19 ноября 2011

Вам нужно будет проанализировать ваш контент и заменить предопределенные «комбинации» на html-эквивалент.

Также вам нужно быть очень осторожным, если вы принимаете контент от участников, так как вы будете напрямуюизменение HTML-кода с заменой.

...