防止来自django tinymce的危险用户输入

时间:2019-05-25 21:17:51

标签: html django tinymce

假设我们要使用tinymce允许用户输入HTML格式的输入。 django-tinymce软件包是一个方便的解决方案。

但是要稍后将其呈现为输出,我们必须使用{{userinput |安全}}进行显示。但是我们是否知道一个事实,即原始用户的输入是...安全的?

我们需要特别警惕和清理的恶意HTML标签有哪些?在保护将来会收到“安全”用户输入的网站用户时,不剥夺tinymce利用的合法标签的合理策略是什么?

1 个答案:

答案 0 :(得分:0)

您永远不能假定提供给您客户端的数据是“干净的”或“安全的”。如果邪恶的人的目标是对您的系统造成损害,他们可以绕过您的前端和所有验证。

您应该始终正确配置前端。验证数据,将TinyMCE配置为仅允许您要创建的那些类型的标签,等等。

但是,无论前端设计如何,为了安全起见,始终必须在服务器上重新检查提交的内容。根本无法解决这种需求。构成“安全”的因素可能取决于您的应用程序的用途和使用者。

您可以使用许多不同的库来使用服务器端进行这种验证/清除,因此,根据您特定的服务器端设置(猜测PHP),您可以找到允许您“清理/净化”提交的HTML的库。