Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 阻止指定的HTML元素_Php_Html_Doctrine Orm_Tinymce 4 - Fatal编程技术网

Php 阻止指定的HTML元素

Php 阻止指定的HTML元素,php,html,doctrine-orm,tinymce-4,Php,Html,Doctrine Orm,Tinymce 4,我想实行小票制 在前端,我想使用所见即所得编辑器tinyMCE,它具有strong和table等功能。 我想防止其他元素进入我的数据库,如脚本输入等。 你知道有一个PHP库可以排除所有其他元素,或者只允许tinyMCE创建的元素吗 在后端,我想使用条令-因此SQL注入应该通过这一点被拒绝 还是我错了?您可能需要使用不同的所见即所得策略。在HTML中写入DOM用户输入有很高的XSS注入风险 我建议使用WYSIWYG标记编辑器,如,并将用户输入以标记格式存储在数据库中。 然后,您可以使用类似PHP的

我想实行小票制

在前端,我想使用所见即所得编辑器tinyMCE,它具有strong和table等功能。 我想防止其他元素进入我的数据库,如脚本输入等。 你知道有一个PHP库可以排除所有其他元素,或者只允许tinyMCE创建的元素吗

在后端,我想使用条令-因此SQL注入应该通过这一点被拒绝
还是我错了?

您可能需要使用不同的所见即所得策略。在HTML中写入DOM用户输入有很高的XSS注入风险

我建议使用WYSIWYG标记编辑器,如,并将用户输入以标记格式存储在数据库中。 然后,您可以使用类似PHP的库来解析标记内容并编写等效的HTML内容。 Markdown只有很少的文本格式选项,这减少了XSS攻击的机会


此外,您可能应该对用户内容执行一些服务器端检查,因为您永远无法确定您的用户是否使用了WYSIWYG编辑器来提交票据。

。构建一个dom树,然后从上到下递归遍历该树,并使用一个不允许显式根元素或(如果您希望这样做的话)一个不允许显式根元素踢所有子树。谢谢,但是在写入数据库之前不可能这样做吗:strip_tags$_POST['message'],'p>'it is,但是任何HTML标记都会被压缩,包括和其他格式化标记。但是对于第二个参数,我认为我允许在其中包含这些标记?正确!但我宁愿使用降价方法,因为强烈建议避免在数据库中存储用户输入的HTML。它们可能是一些允许运行不需要的标记(如iframe或script)的技巧。好了,现在我明白了。您知道如何使用类似Jira Visual的SimpleMode在预览窗口中直接进行编辑吗?对于某些用户来说,在他们的文本输入中看到format参数*可能会令人困惑。如果不可能发送没有HTML标记的格式化文本,我应该使用TinyMCE来代替它,原因是什么?