2
我正在開發一個網站,從jQuery發佈一些Ajax調用到PHP,並將數據從PhP返回給jquery。安全 - Ajax和Nonce使用
一切正常,但我想知道如果我的方法來處理電話是好的,關於安全性和如果我可以採取或記住任何進一步的安全措施。
貫穿我的過程;
functions.php文件
設置wp_localize_script()&通過它的一個AJAX網址和現時的變量 -
wp_localize_script('main', 'WP', array( 'AJAX_URL' => admin_url('admin-ajax.php'), 'NONCE' => wp_create_nonce('ajax_custom_nonce') ));
myscript.js文件
在我的js文件中,我使用jquery發送了我的post請求;
$.ajax({ type : "post", url: WP.AJAX_URL, data: ({action : 'request_handler', id : 'content_id', nonce : WP.NONCE }), success: function(data) {} })
ajax.php文件
ajax.php文件接收AJAX後,調用request_handler();
add_action("wp_ajax_nopriv_request_handler", "request_handler"); add_action("wp_ajax_request_handler", "request_handler");
request_handler()檢查隨機數,得到的文章ID &運行switch語句來調用所需的功能。
function request_handler() { // check the nonce $nonce = $_POST['nonce']; if (! wp_verify_nonce($nonce, 'ajax_custom_nonce')) die ('busted'); $id = $_POST['id']; switch ($id) { case 'vimeo_embed': require_once(TEMPLATEPATH . '/library/vimeo.php'); load_vimeo(); break; case 'popup': require_once(TEMPLATEPATH . '/library/popup.php'); load_popup(); break; ....etc } }
感謝