php - 在 PHP 中正确过滤 HTML 编辑器的最佳方法是什么?

标签 php editor filter javascript

我在我的站点中使用 TinyMCE 编辑器。我想学习在插入数据库时​​为我的输入正确过滤的方法。需要使用哪些过滤器?例如,我通过这种方式将此输入输入到数据库;

$example = $_POST['example'];

<textarea name="example"></textarea>

我没有使用 htmlscepialchars();因为我需要 html 标签。

“抱歉我的英语不好。”

最佳答案

HTMLPurifier.

在这里下载:http://htmlpurifier.org/

包含它:

include 'path/to/HTMLPurifier.auto.php';

使用它:

$config = HTMLPurifier_Config::createDefault();
$config->set('Core', 'Encoding', 'UTF-8');
$config->set('XHTML', 'Doctype', 'XHTML 1.0 Strict');
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify( $dirty_html );

并且知道在这样清理的 HTML 中没有 XSS 攻击,所以睡个好觉。

建议 mysql_real_escape_string() 的人可能没听懂你的问题(或者我没听懂),你问的是如何从 WYSIWYG 编辑器中过滤 HTML 标记,以便它可以安全地存储在数据库中。

mysql_real_escape_string() 与防止 SQL 注入(inject)相关,但准备好的语句(谷歌“PDO”)对此更好。

关于php - 在 PHP 中正确过滤 HTML 编辑器的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3194059/

相关文章:

python - tweepy stream.filter() 方法不能正常工作

java - slf4j简单,是否可以过滤同一级别内的消息?

PHP 没有将 MySQL 查询中的所有键写入数组

javascript - AngularJS 语法错误 : Unexpected token {

xml - 什么软件支持 XML 文档中的类变量代码完成?

c++ - 为什么 Eclipse 会在我的源代码中标记伪错误?

javascript - 从数组中的对象获取特定值

php - 为日期时间 HTML 模式分配正确的值

php - 如何在 PHP 和 CSS 中创建 3 列?

unix - 你知道任何针对程序员的 "best practice"或 "what works"vi 教程吗?