如何在wordpress中将CSRF添加到手动创建的表单中?

问题描述:

这是我第一次尝试在WordPress中编写自定义插件,当然还有一种方法可以在WordPress中添加CSRF标签,并在服务器内检查表单的有效性。问题是我该怎么办?如何在wordpress中将CSRF添加到手动创建的表单中?

如果您使用Wordpress 2.0.4或更高版本,则可以使用wp_nonce_fieldwp_verify_nonce字段进行验证。 WordPress的文档有一些examples(我在下面发布)。

在您的形式:

<form method="post"> 
    <!-- some inputs here ... --> 
    <?php wp_nonce_field('name_of_my_action','name_of_nonce_field'); ?> 
</form> 

在你的处理动作:

<?php 
if (empty($_POST) || !wp_verify_nonce($_POST['name_of_nonce_field'],'name_of_my_action')) 
{ 
    print 'Sorry, your nonce did not verify.'; 
    exit; 
} 
else 
{ 
    // process form data 
}