首页 » 网站推广 » phphtml参数技巧_php的HTML输入和输出复杂净化

phphtml参数技巧_php的HTML输入和输出复杂净化

访客 2024-10-30 0

扫一扫用手机浏览

文章目录 [+]

文|何掌柜

对付很多 web 运用来说,大略地转义 HTML 是不足的。
你可能想完备去除任何HTML,或者许可一小部分子集的 HTML 存在。
若是如此,则利用 HTML Purifier 库。

phphtml参数技巧_php的HTML输入和输出复杂净化

HTML Purifier 是一个经由充分测试但效率比较低的库。
这便是为什么如果你的需求并不繁芜就应利用htmlentities(), 由于它的效率要快得多。

phphtml参数技巧_php的HTML输入和输出复杂净化
(图片来自网络侵删)

HTML Purifier 比较 strip_tags() 是有上风的, 由于它在净化 HTML 之前会对其校验。
这意味着如果用户输入无效 HTML,HTML Purifier 比较 strip_tags() 更能保留 HTML 的原意。
HTML Purifier 高度可定制,许可你为 HTML 的一个子集建立白名单来许可这个 HTML 子集的实体存在输出中。

但其缺陷便是相称的慢,它哀求一些设置,在一个共享主机的环境里可能是不可行的。
其文档常日也繁芜而不易理解。
以下示例是一个基本的利用配置。
查看文档阅读 HTML Purifier 供应的更多更高等的特性。

示例

// Include the HTML Purifier library

require_once('htmlpurifier-4.4.0/HTMLPurifier.auto.php');

// Oh no! The user has submitted malicious HTML, and we have to display it in our web app!

$evilHtml = '

Mua-ha-ha! Twiddling my evil mustache...

';

// Set up the HTML Purifier object with the default configuration.

$purifier = new HTMLPurifier(HTMLPurifier_Config::createDefault());

$safeHtml = $purifier->purify($evilHtml);

// $safeHtml is now sanitized. You can output $safeHtml to your users without fear!

?>

陷阱

以缺点的字符编码利用 htmlentities() 会造成意想不到的输出。
在调用该函数时始终确认指定了一种字符编码,并且该编码与将被净化的字符串的编码相匹配。
更多细节请查看 UTF-8 一节。

利用 htmlentities() 时,始终包含 ENT_QUOTES 和字符编码参数。
默认情形下,htmlentities() 不会对单引号编码。
多屈曲的默认做法!

HTML Purifier 对付繁芜的 HTML 效率极其的低。
可以考虑设置一个缓存方案如APC来保存经由净化的结果以备后用。

因思维新专注于高端网站订制开拓,不仅仅为您培植网站,还为您做网络营销。

标签:

相关文章

介绍直播新纪元,轻松进入直播的五大步骤

随着互联网技术的飞速发展,直播行业在我国逐渐崛起,越来越多的人选择通过直播这一新兴媒介展示自己、分享生活、传递价值。对于许多新手来...

网站推广 2025-01-03 阅读1 评论0

介绍相机美颜原理,科技与美学的完美结合

随着科技的发展,智能手机的摄像头功能日益强大,美颜相机成为了许多人拍照的首选。美颜相机不仅满足了人们对于美的追求,更在视觉上给人带...

网站推广 2025-01-03 阅读1 评论0

介绍磁铁的制造,科学与艺术的完美结合

磁铁,一种神秘的物质,自古以来就吸引了无数人的目光。它不仅具有独特的磁性,还能在工业、医疗、科研等领域发挥重要作用。磁铁是如何制造...

网站推广 2025-01-03 阅读1 评论0

介绍电瓶激活方法,让电池焕发新生

随着科技的不断发展,电动汽车逐渐成为人们出行的首选。而电瓶作为电动汽车的核心部件,其性能直接影响着车辆的续航里程和行驶体验。新购买...

网站推广 2025-01-03 阅读1 评论0