PHP代码嗅探器-WordPress VIP编码标准

时间:2016-01-16 作者:user1020189

我正在尝试修改我的代码,以符合WordPress VIP编码标准。我有几个问题想解决,但我不确定最好的策略是什么。

第一个问题是当我在保存metabox数据时验证nonce时:

$nonce = isset( $_POST[\'revv_meta_box_nonce\'] ) ? $_POST[\'revv_meta_box_nonce\'] : \'\';
我这里的错误是\'Processing data without nonce verification\'. 这很愚蠢,因为我只是将nonce存储在一个变量中,然后在下一行中进行验证。

第二个问题是在存储数据时:

$foo = isset($_POST[\'foo\']) ? sanitize_text_field( $_POST[\'foo\'] ) : \'\';
update_post_meta( $post_id, \'_foo\', $foo );
在那里的第一条线上,嗅探员抱怨我没有跑步wp_unslash 在清理数据之前。但数据直接进入update_post_meta 在下一行,它期望数据不被刷新。

关于消除这些错误消息的最佳策略,有什么想法吗?谢谢

1 个回复
SO网友:Sagar Nasit

您可以使用filter_input 对您的$_POST 大堆

$nonce = filter_input( INPUT_POST, \'revv_meta_box_nonce\', FILTER_SANITIZE_STRING )
使用empty() 检查$nonce 是否有值。

您可以将其用于第二个问题

$foo = filter_input( INPUT_POST, \'foo\', FILTER_SANITIZE_STRING )
根据中的预期数据更改第三个参数$_POST[\'foo\']. 检查此文档available filters.

相关推荐

wordpress admin security

我用不同的工具扫描我的网站,但它没有显示恶意脚本。但当我在管理仪表板中看到时,我在body标签下面看到了奇怪的方形符号。我试图检查管理索引文件,根索引文件,但什么都没有。有人放了这个脚本。而且,当我试图采取备份它不允许我采取。使用BackupFordPress插件。然而,所有其他的事情都在运行,但在管理方面仍然存在一些问题。如何检测和删除此项。