我试图了解数据清理(不是数据验证)以帮助我为WordPress编写安全主题。我搜索了Internet,试图为主题开发人员找到一份详细的最佳实践指南。我遇到了一些资源,包括名为“数据验证”的法典页面,尽管没有一个对我有用。该法典页面列出了可用的消毒功能,其用法以及它们的作用,但是无法解释为什么您要使用另一个消毒功能,或者在什么情况下使用特定的消毒功能。这篇文章的目的是要求每个人都提供不良/未经消毒的代码示例,以及如何对其进行重写以进行适当的消毒。这可以是用于清理帖子标题或帖子缩略图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内联时,是否需要以不同的方式进行清理?为了更清楚我的要求,以下是代码:
<?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>
上面的两个语句实现了同一件事。但是是否需要以不同的方式来对待它们?