我在我的站点中使用 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/