Php 安全-Ajax&;暂时使用
我正在开发一个站点,它发布了许多从jquery到PHP的ajax调用,并将数据从PHP返回到jquery 一切都正常,但我想知道我处理电话的方法是否正确,在安全方面,以及我是否可以采取或记住任何进一步的安全措施 来完成我的过程 functions.php文件Php 安全-Ajax&;暂时使用,php,wordpress,security,jquery,Php,Wordpress,Security,Jquery,我正在开发一个站点,它发布了许多从jquery到PHP的ajax调用,并将数据从PHP返回到jquery 一切都正常,但我想知道我处理电话的方法是否正确,在安全方面,以及我是否可以采取或记住任何进一步的安全措施 来完成我的过程 functions.php文件 Setup wp_localize_script()&将ajax url和nonce的变量传递给它- wp_localize_script( 'main', 'WP', array( 'AJAX_URL' => admi
wp_localize_script( 'main', 'WP', array(
'AJAX_URL' => admin_url( 'admin-ajax.php'),
'NONCE' => wp_create_nonce( 'ajax_custom_nonce' )
));
$.ajax({
type : "post",
url: WP.AJAX_URL,
data: ({action : 'request_handler',
id : 'content_id',
nonce : WP.NONCE }),
success: function(data) {}
})
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
}
}
谢谢代码似乎很好,我想唯一需要注意的是如何处理$id的意外值,我想默认值在该开关中可以正常工作
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
}
}