如何在wordpress中将CSRF添加到手动创建的表单中?
问题描述:
这是我第一次尝试在WordPress中编写自定义插件,当然还有一种方法可以在WordPress中添加CSRF标签,并在服务器内检查表单的有效性。问题是我该怎么办?如何在wordpress中将CSRF添加到手动创建的表单中?
答
如果您使用Wordpress 2.0.4或更高版本,则可以使用wp_nonce_field
和wp_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
}