什么是最好的安全$_POST方法?

时间:2018-03-12 作者:wpdev

我制作了个人资料页面。我使用$\\u POST方法直接从输入中获取值。用户在此页面中更新其配置文件。我想知道这是安全方法吗?我也在wp\\u list\\u表中使用它。

2 个回复
最合适的回答,由SO网友:CodeMascot 整理而成

您必须根据数据的类型和应用程序清理或转义数据。如下所示-

$title = sanitize_text_field( $_POST[\'title\'] );
update_post_meta( $post->ID, \'title\', $title );
这是一个很大的话题。你最好看看这个Validating Sanitizing and Escaping User Data.

SO网友:Levi Dulstein

除了上面提到的\\u剧作家通过链接WordPress Codex, 还有一个非常有用的本机PHP函数,允许您一次性清理来自$\\u POST super global的所有数据:filter_input_array. 看见php docs. 示例:

// let\'s say I\'m expecting to get data like this:
$_POST = [
    \'myString\'         => \'Hello World\',
    \'myInteger\'        => 42,
    \'myArrayOfStrings\' => [
        \'hello\',
        \'world\',
    ],
];

// sanitizing $_POST super global:

$data = filter_input_array( INPUT_POST, [
    \'myString\'         => FILTER_SANITIZE_STRING,
    \'myInteger\'        => FILTER_VALIDATE_INT,
    \'myArrayOfStrings\' => [
        \'filter\' => FILTER_SANITIZE_STRING,
        \'flags\'  => FILTER_REQUIRE_ARRAY,
    ],
] );

// now $data contains array of sanitized values

结束

相关推荐

Contact Form Security

在Wordpress中构建我自己的联系人表单。除了典型的电子邮件etc验证和可能的验证码之外,我还需要考虑任何其他安全步骤。我没有向数据库发送任何数据。