2020-11-01 / 3093阅
WordPress的AJAX接口提示是公开的,ACTION参数也是大家都知道,可以查看源代码获得,为了避免被他人使用软件或者远程提交表单,造成各种安全问题。
所以我们需要在AJAX的时候提交一个随机数作为用户识别,类似CSRF保护,可以防止跨域请求AJAX接口。
生成随机数
<?php echo wp_create_nonce('code');?>
然后后端验证随机数
wp_verify_nonce($_POST['code'], 'code') //通过返回true,错误返回false
验证通过以后,我们在做其他的操作,如果没有通过,可能是跨域提交。
<script> var ajax_url ="<?php echo admin_url( 'admin-ajax.php');?>"; //这一句需要写在PHP文件中 jQuery(document).ready(function ($) { console.log('悠然自学,乐在其中'); $.ajax({ type: "POST", url: ajax_url, //地址 data: { action: "youran_api", data:'20202020', 'code':'<?php echo wp_create_nonce('code');?>' }, success: function (back) { console.log(back); } }); }); </script>
阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228