Laravel中的Ckeditor安全问题

时间:2018-07-04 10:13:45

标签: security laravel-5 ckeditor

我想让我的用户在我的网站上发布文章,但是我对ckeditor的安全性非常担心。

我想问的是:

  1. 用户可以通过ckeditor上传任何可能使我的网站面临风险的代码吗?
  2. 有什么方法可以限制此类操作的用户吗?

关于我的申请

我正在使用laravel 5.6和ckeditor的最新版本。

请分享您的想法和经验。

1 个答案:

答案 0 :(得分:0)

CKEditor不是故意的。开发不安全的产品没有任何意义(出于教育目的除外)。它不允许上传可执行内容(作为功能)。但是,它确实具有公开利用的漏洞的历史,主要是因为它处理了各种各样的用户输入,这些输入将存储在用户可访问的位置/路径中。

尽管如此,如果仅限制允许Web应用程序执行的路径(php,asp等),您仍然可以大幅降低其风险。

PHP示例:

在ckeditor放置用户生成/上传的数据的目录中创建一个.htaccess文件。在该文件内放置以下内容:

php_flag engine off

还有其他方法可以实现此目的,具体取决于您的特定环境。但是主要思想仍然是-在目标目录中阻止用户内容/上传的执行能力,并注意所有组件的安全更新。

最后一点-避免用户上传可执行内容的最佳实践是将其存储在非Web公开的位置。我什至建议在网络服务的根目录之外。这也将有助于防止很大一部分路径遍历漏洞。但是专门针对CKEditor类型的插件,它使解决方案变得更加复杂,因为该内容需要由Web用户访问(通过设计!)。