当前位置:  开发笔记 > 编程语言 > 正文

有没有可用的基于PHP的HTML过滤器?

如何解决《有没有可用的基于PHP的HTML过滤器?》经验,为你挑选了1个好方法。

我目前正处于一个带有PHP前端的项目中.我们非常关注安全性,因为我们拥有相当多的用户,并且是黑客的有吸引力的目标.我们的用户可以提交以后可供其他用户看到的HTML格式的内容.这是一个很大的问题,因为我们很容易受到整套XSS攻击的攻击.我们尽可能地过滤,但攻击向量的种类非常多.

所以,我正在寻找基于PHP的HTML清理/过滤解决方案.商业解决方案很好(甚至是优选的).目前我们正在使用修改后的HTML净化器,但我们对结果不满意.

有哪些好的库/工具能够过滤HTML的恶意部分?

举例来说,HTML5意识很好,一旦它"在野外"可用,它将成为安全的噩梦.

更新: 我们正在深入配置HTML Purifier.看起来我们之前使用的旧框架根本就没有配置它.现在结果看起来好多了.



1> Jon Winstanl..:
HTML Purifier项目

就个人而言,HTML Purifier项目的结果非常好

它是高度可定制的,具有庞大的代码库.唯一的问题是将文件上传到您的服务器.

您确定您的安装没有配置问题吗?如果配置正确,净化器根本不应该通过任何HTML标记.

来自网站:

HTML Purifier是一个用PHP编写的符合标准的HTML过滤器库.HTML Purifier不仅会删除所有恶意代码(更好地称为XSS),并且具有经过全面审核,
安全且允许的白名单,还可以确保您的文档符合标准,只有通过全面了解W3C的规范才能实现.
厌倦了使用BBCode,因为当前的
HTML过滤器不完整或不安全?有一个
WYSIWYG编辑器,但从来没有能够使用它?为您正在构建的应用程序寻找高质量,符合标准的开源组件?HTML Purifier适合您!

我在这里写了一篇关于如何在CodeIgniter中使用HTML净化器库的文章.

也许这将有助于再次尝试:

// load the config and overide defaults as necessary
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML', 'Doctype', 'XHTML 1.0 Transitional');
$config->set('HTML', 'AllowedElements', 'a,em,blockquote,p,strong,pre,code');
$config->set('HTML', 'AllowedAttributes', 'a.href,a.title');
$config->set('HTML', 'TidyLevel', 'light'); 


奇怪的是,HTML净化器对提问者不起作用.我认为配置在某些时候设置错误.
推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有