带有脚本标签的 tinyMCE 发布代码?
tinyMCE posting code with script tags?
我已经创建了一个页面来创建文章http://8mags.com/bored/people/
当我发布一篇带有脚本标签和其他 HTML 标签的文章时,这里出现的脚本标签是 link 生成的文章 http://8mags.com/bored/people/stories/59b4f0c3a94d5f2637b376be6e554480.php
这是安全威胁吗?我该如何预防?这是我正在使用的代码
if (!empty($_REQUEST['content'])&&!empty($_REQUEST['title'])&&!empty($_REQUEST['writer'])) {
$title = $_POST['title'];
$content = $_POST['content'];
$writer = $_POST['writer'];
require_once 'htmlpurifier/library/HTMLPurifier.auto.php';
$purifier = new HTMLPurifier();
$pure_content = $purifier->purify($content);
$entity_content = htmlentities($pure_content);
$entity_content = $mysqli->real_escape_string($entity_content);
$slashedtitle = addslashes($_POST['title']);
$slashedcontent = addslashes($_POST['content']);
$slashedwriter = addslashes($_POST['writer']);
$mysqli->query("INSERT INTO stories (TITLE, WRITER, CONTENT, UPVOTE, DOWNVOTE) VALUES ('$slashedtitle', '$slashedwriter', '$slashedcontent', 0, 0)");
据我所知,没有安全威胁。通过使用 HTMLPurifier,应删除所有恶意代码。
我怀疑这里发生的事情是 tinyMCE 编辑器在 提交表单之前 将您编写的代码转换为 HTML 实体。 <script>
已转换为 <script>
。因此代码不会在浏览器中执行,也不会是恶意的。
如果您想测试恶意代码会发生什么,请正确执行并使用 Firebug 之类的工具将代码注入编辑器,这样它就无法逃脱。
我已经创建了一个页面来创建文章http://8mags.com/bored/people/ 当我发布一篇带有脚本标签和其他 HTML 标签的文章时,这里出现的脚本标签是 link 生成的文章 http://8mags.com/bored/people/stories/59b4f0c3a94d5f2637b376be6e554480.php 这是安全威胁吗?我该如何预防?这是我正在使用的代码
if (!empty($_REQUEST['content'])&&!empty($_REQUEST['title'])&&!empty($_REQUEST['writer'])) {
$title = $_POST['title'];
$content = $_POST['content'];
$writer = $_POST['writer'];
require_once 'htmlpurifier/library/HTMLPurifier.auto.php';
$purifier = new HTMLPurifier();
$pure_content = $purifier->purify($content);
$entity_content = htmlentities($pure_content);
$entity_content = $mysqli->real_escape_string($entity_content);
$slashedtitle = addslashes($_POST['title']);
$slashedcontent = addslashes($_POST['content']);
$slashedwriter = addslashes($_POST['writer']);
$mysqli->query("INSERT INTO stories (TITLE, WRITER, CONTENT, UPVOTE, DOWNVOTE) VALUES ('$slashedtitle', '$slashedwriter', '$slashedcontent', 0, 0)");
据我所知,没有安全威胁。通过使用 HTMLPurifier,应删除所有恶意代码。
我怀疑这里发生的事情是 tinyMCE 编辑器在 提交表单之前 将您编写的代码转换为 HTML 实体。 <script>
已转换为 <script>
。因此代码不会在浏览器中执行,也不会是恶意的。
如果您想测试恶意代码会发生什么,请正确执行并使用 Firebug 之类的工具将代码注入编辑器,这样它就无法逃脱。