CKEditor не является небезопасным специально. Нет смысла разрабатывать небезопасный продукт (кроме образовательных целей). Он не позволяет загружать исполняемый контент (как функцию). Тем не менее, он имеет историю публично эксплуатируемых уязвимостей, в основном из-за того, что он обрабатывает широкий спектр пользовательского ввода, который будет храниться в доступных для пользователя местах / путях .
Тем не менее, вы все равно можете существенно снизить риски, если просто ограничите пути, которые позволяют выполнять веб-приложения (php, asp и т. Д.).
Пример PHP:
Создайте файл .htaccess
в директории, где ckeditor размещает свои сгенерированные / загруженные пользователем данные. Внутри этого файла поместите следующее:
php_flag engine off
Существуют дополнительные методы для достижения этой цели, которые зависят от вашей конкретной среды. Но основная идея остается - блокирует возможности выполнения в целевой директории для пользовательского контента / загрузок и следит за обновлениями безопасности для всех ваших компонентов.
И последнее замечание. Лучше всего избегать загрузки исполняемого контента пользователями, если они хранятся в незащищенном от Интернета месте. Я бы даже посоветовал вне сети обслуживать root dir. Это также поможет предотвратить большую часть уязвимостей traversal . Но специально для плагина типа CKEditor это значительно усложняет решение, так как этот контент должен быть доступен для веб-пользователей (специально!).