Полоса <сценарий> теги и все промежуточное с PHP?

Как я пошел бы об удалении тегов script и всего в них использующий PHP?

10
задан Probocop 23 April 2010 в 11:21
поделиться

3 ответа

Используйте очиститель HTML , как предложил Пекка.

Никогда не используйте регулярное выражение в этом случае

Вот пример, фильтры регулярных выражений не работают, работает в браузерах (проверено в firefox)

<script script=">>><script></script><script>//"  >
/**/
alert(1);
</script
>
8
ответ дан 3 December 2019 в 20:40
поделиться

Как говорит Дэвид, фильтрации только тегов сценария недостаточно, если вы хотите очистить входящие данные. HTML Purifier обещает предоставить полный пакет:

HTML Purifier - это соответствующая стандартам библиотека фильтров HTML, написанная на PHP. HTML Purifier не только удалит весь вредоносный код (более известный как XSS) с помощью тщательно проверенного, безопасного, но разрешающего белого списка, он также обеспечит безопасность ваших документов {{ 1}} стандартов, чего можно достичь только при всестороннем знании спецификаций W3C.

11
ответ дан 3 December 2019 в 20:40
поделиться

Вы можете сделать это с помощью функции strip_tags

http://www.php.net/strip_tags

<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);

// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
?>
-2
ответ дан 3 December 2019 в 20:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: