PHP:安全显示<script>标记

时间:2019-11-15 10:48:58

标签: php xss contenteditable

在我的数据库中,我有以下代码:&lt;script&gt;alert(1);&lt;/script&gt;

我想以可编辑内容(https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/contentEditable)的形式呈现此内容,而不会触发警报(通常为XSS),显示<script>alert(1);</script>而不显示&lt;script&gt;alert(1);&lt;/script&gt;

我已经经历了htmlspecialchars_decode,html_entity_decode等,但是我无法确定需要什么

我们正在使用http://documentation.custhelp.com/euf/assets/devdocs/cloud19b/Connect_PHP/Default.htm,所以不能使用准备好的语句。数据的存储方式如下:

$objective = RNCPHP\objectives::fetch($id);
$objective->description = empty($description) ? '-':$description;
$objective->archive = 0;
$objective->save(); 
RNCPHP\ConnectAPI::commit();

仅显示内容就可以了。但是,如果我添加一些分隔符(假设这是一长段文字),则会显示
标记而不是空格

谢谢

1 个答案:

答案 0 :(得分:0)

实际上,这应该可以正常工作。

<?php
$var = "&lt;script&gt;alert(1);&lt;/script&gt;";

echo $var;
?>