HTML-коды, отображаемые на странице просмотра HTML-данных - PullRequest
1 голос
/ 04 апреля 2010

Я новичок в Codeigniter. Просто использую его в моем проекте за последние 2 месяца. У меня есть раздел комментариев в моем проекте. Где любой может дать комментарии. Все идет отлично, но когда кто-нибудь размещает HTML-контент (изображение / видео), а затем, когда они отображаются в разделе комментариев ... прямые HTML-коды отображаются на странице комментариев, а не в HTML-контенте (изображение / видео).

пример: когда я сохраняю любой «код для вставки видео YouTube» в поле для комментариев и сохраняю, что результат будет представлен в виде «сырых кодов для вставки видео», а не видео на Youtube ...

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

Ответы [ 3 ]

2 голосов
/ 05 апреля 2010

Не может ли кто-нибудь разработать систему, в которой кто-то просто публикует ссылку на youtube, и с помощью комбинации регулярных выражений ваша собственная система генерирует сам объект / код для встраивания, чтобы не было угрозы безопасности?

1 голос
/ 05 апреля 2010

У меня недавно была похожая проблема - я хотел дать конечным пользователям возможность публиковать видео на YouTube, но не позволял им просто публиковать что-либо без какой-либо защиты XSS.

В итоге я использовал htmlpurifier - http://htmlpurifier.org/ для фильтрации содержимого, представленного в форме.

Существует изменение, которое может быть внесено в белый список, который разрешает использование кода YouTube через очиститель.

http://htmlpurifier.org/docs/enduser-youtube.html

Пока что это работает хорошо, но моя система все еще находится в разработке.

0 голосов
/ 04 апреля 2010

Для быстрого взлома вы можете сделать htmlspecialchars_decode при отображении комментария в вашем представлении. Это очень опасно, хотя без использования очистки, когда вы получаете комментарий - поиск xss_clean на этой странице . Вы также должны использовать strip_tags , чтобы удалить все ненужные теги HTML (все, кроме тегов видео) перед вставкой комментария в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...