所以,这是我为wordpress网站设置的ajax设置。
Page_1.php :
<?php echo '<div class="button" data-post_date="'.$rh_post_date.'" data-post_author_id="' .$rh_author_id. '" data-post_id="' .$id. '">' ;?>
custom_js.js :
jQuery('.button').click(function(e) {
e.preventDefault();
var indiv_id = jQuery(this).data("post_id");
var indiv_post_author = jQuery(this).data("post_author_id");
var indiv_date = jQuery(this).data("post_date");
jQuery.ajax({
type: "GET",
url: upload_image.ajax_url,
dataType: 'html',
data: ({ action: 'rhmp_indi_form', post_id: indiv_id , post_author_id: post_author, post_date_id: indiv_date}),
success: function(data){
jQuery('#rh_pop').html(data);
},
error: function(data)
{
alert("Error!");
return false;
}
});
});
Page_2.php :
<div id="rh_pop">
<?php
$page_2_post_id = $_REQUEST['post_id'];
$page_2_post_author_id = $_REQUEST['post_author_id'];
$page_2_post_date_id = $_REQUEST['post_date_id'];
?>
</div>
如您所见,当点击page_1.php中的button
时,data
成为custom_js.js
中的变量。然后将这些变量发送到page_2。
现在,我知道这根本不安全,可以轻易入侵。
那么,如何使用php通过ajax将data-post_date
或post_author_id
等数据发送到另一个页面?
答案 0 :(得分:1)
首先,Ajax是一种在javascript中用于将httprequest发送到php服务器的技术。服务器处理该请求并发回其结果。它与正常请求页面相同,但无需重新加载页面。
使用php在javascript中创建变量以与ajax一起使用并不意味着php是执行ajax相关的任何操作的人。希望这可以解决一个误解。
有关详情:https://en.wikipedia.org/wiki/Ajax_%28programming%29
将数据发送到服务器永远不会安全。您可以使用名称填写此字段,然后继续使用帮助功能。或者甚至可以使用禁用提交按钮,如果字段中没有3个或更多数字,但这都是为了帮助用户并使服务器不太可能获得永远无效的请求。
这就是为什么总是需要服务器端验证的原因,并且客户端验证更像是用户友好的事情,并确保服务器不会获得可以从客户端检测到的请求。