Проблемы безопасности Ckeditor в Laravel - PullRequest
0 голосов
/ 04 июля 2018

Я хочу, чтобы мои пользователи могли публиковать статьи на моем сайте, но у меня есть серьезные опасения по поводу безопасности ckeditor.

Я хочу спросить:

  1. Могут ли пользователи загружать любые коды, которые могут поставить мой сайт под угрозу, через ckeditor?
  2. Есть ли способ ограничить пользователей такими действиями?

О моем заявлении:

Я использую laravel 5.6 и последнюю версию ckeditor.

Пожалуйста, поделитесь своими мыслями и опытом.

1 Ответ

0 голосов
/ 04 июля 2018

CKEditor не является небезопасным специально. Нет смысла разрабатывать небезопасный продукт (кроме образовательных целей). Он не позволяет загружать исполняемый контент (как функцию). Тем не менее, он имеет историю публично эксплуатируемых уязвимостей, в основном из-за того, что он обрабатывает широкий спектр пользовательского ввода, который будет храниться в доступных для пользователя местах / путях .

Тем не менее, вы все равно можете существенно снизить риски, если просто ограничите пути, которые позволяют выполнять веб-приложения (php, asp и т. Д.).

Пример PHP:

Создайте файл .htaccess в директории, где ckeditor размещает свои сгенерированные / загруженные пользователем данные. Внутри этого файла поместите следующее:

php_flag engine off

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

И последнее замечание. Лучше всего избегать загрузки исполняемого контента пользователями, если они хранятся в незащищенном от Интернета месте. Я бы даже посоветовал вне сети обслуживать root dir. Это также поможет предотвратить большую часть уязвимостей traversal . Но специально для плагина типа CKEditor это значительно усложняет решение, так как этот контент должен быть доступен для веб-пользователей (специально!).

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