因为,我只能保持三分钟热度,所以,知识点一定要在三分钟之内讲完……
先说明一下,这个说的输出数据,特指输出数据到网面上,或者称为渲染数据到网面,更为合适。这种场景下,经常会遇到一个安全问题:XSS
Cross-site scripting (XSS) 是一种常见于web应用程序的计算机安全漏洞。XSS使攻击者能够将客户端脚本注入其他用户查看的网页。攻击者可利用跨站点脚本漏洞绕过访问控制,如同源策略。
要解决这个问题也很简单,就是将字符转义后再输出。你没猜错!WordPress 同样提供了一大批转义函数。
esc_attr 用于打印到HTML元素属性中的所有其他内容。
esc_html 只要html元素包含正在显示的一段数据,就可以使用。这不会将HTML显示为HTML(因此<strong>将按原样输出,而不是使用粗体),它用于HTML内部,并将删除HTML。
esc_js 用于内联Javascript,它转义Javascript以用于<script>标记。
esc_textarea 用于编码文本,以便在textarea元素中使用。
esc_url 用于所有url,包括HTML元素的src和href属性中的url。
esc_url_raw 在数据库中存储url时使用,或在需要非编码url的其他情况下使用。
esc_xml 用于转义xml块。
wp_kses 用于安全地转义所有不受信任的HTML(发布文本、注释文本等)。这将HTML显示为HTML(因此<em>将显示为强调文本)
wp_kses_post wp_kses的替代版本,它自动允许文章内容中允许的所有HTML。
是不是哪里不对?wp_kses 和 wp_kses_post 又出现了!是的,这就是 wp_kses 的复杂与强大,输入输出都可以用……
使用举例:
esc_html_e( 'Hello World', 'text_domain' );
// Same as
echo esc_html( __( 'Hello World', 'text_domain' ) );
需要再啰嗦一句,如果你需要输出的就是html代码,就不要再对他们转义了!或者进行有条件的转义,这正是 wp_kses 的用武之地!
-
WordPress插件:Pre-Publish Checklist提醒用户完成设置才能发布文章Pre-Publish Checklist是一款提醒用户完成设置才能发布文章WordPress插件,该插件可检测网站上的文章或页面等文章类型的设置选项是否已经完成设置,如文章可控:标题、标签、特色图,若未完成不可继续下一步。
-
WordPress插件:Twenty20 Image Before-After图片比较插件Twenty20是一款专门制作图片比较的WordPress插件,该插件能让你快速在文章或页面中插入之前和之后对比图片。
-
All-in-One WP Migration(一站式WP迁移)WordPress全站迁移插件All-in-One WP Migration是一款WordPress全站迁移插件,中文名叫“一站式WP迁移”,在WordPress官网显示有超过500万的安装量,超过6000+的五星好评。
-
Wordfence Security WordPress安全插件Wordfence Security是一款WordPress安全插件,一些朋友都推荐为必装插件之一,WordPress官网显示,该插件超过400万的安装量,3400+的五星好评。
-
WordPress缓存插件Cache MasterWordPress缓存插件,追格小编早些时候也分享过,如:Lazy Load WordPress、Cachify等等。今天我们说说Cache Master,其实和其他大同小异,各有优劣势。
-
WordPress插件:GTranslate 网站翻译插件Translate WordPress with GTranslate 是一款WordPress自动翻译插件,使用在线翻译服务来帮助网站多语言化,根据官网介绍,GTranslate可翻译100多种可用语言。
暂无评论,抢个沙发...