我试图理解数据清理(而不是数据验证),以帮助我为WordPress编写安全主题。我在互联网上搜索过,试图为主题开发人员找到一个全面的指南,详细介绍最佳实践。我遇到了一些资源,包括名为“数据验证”的codex页面,但没有一个对我有用。codex页面列出了可用的消毒功能、它们的用法以及它们的作用,但没有解释为什么要使用其中一种,或者在什么情况下要使用特定的消毒功能。这篇文章的目的是要求大家提供错误/未初始化代码的示例,以及如何重新编写以进行适当的清理。这可能是清理帖子标题或帖子thumnails src的通用代码,也可能是处理以下内容清理的更复杂代码$_POST
Ajax请求的数据。
此外,我想知道WordPress用于添加/更新数据库的功能(例如下面代码块中提到的功能)是否会自动为您完成清理工作?如果是,那么当您采取其他措施清理发送到这些WordPress函数的数据时,是否有例外情况?
add_user_meta
update_user_meta
add_post_meta
update_post_meta
//just to name a few
此外,在PHP中回显HTML与在HTML的PHP内联中回显HTML时,是否需要进行不同的清理?为了更清楚地了解我的问题,下面是代码:<?php echo \'<div class="some-div \' . $another_class . \'" data-id="\' . $id . \'" >\' . $text . \'</div>\'; ?>
<div class="some-div <?php echo $another_class; ?>" data-id="<?php echo $id; ?>"><?php echo $text; ?></div>
上述两种说法都达到了同样的目的。但他们是否需要以不同的方式进行圣诞庆祝?