jquery请求

jquery请求,jquery,Jquery,我有这个jquery代码 $.post('data.php'{"request":"data_"+$(this).attr("data")},function(data){ $("div").text(data); }); 但如果有人能这样打电话给我的网站 $.ajax({ url: 'http://www.website.com/data.php', data: { request: "data_1" }, success: function(data) {

我有这个jquery代码

$.post('data.php'{"request":"data_"+$(this).attr("data")},function(data){
  $("div").text(data);
});
但如果有人能这样打电话给我的网站

$.ajax({
    url: 'http://www.website.com/data.php',
    data: { request: "data_1" },
    success: function(data) {
   alert(data);
    }
他很容易得到我的数据。
如何防止这种情况发生?

浏览器不会允许跨域请求发生。 关于服务器端抓取,您没有什么可以做的,您可以检查只允许浏览器的用户代理,但最终任何东西都可以用正确的工具伪造,这只是一天结束时的http请求。 当然,如果您注意到来自某些主机的流量激增,您可以禁用来自这些主机的访问。 如果要防止框架,可以添加

Header append X-FRAME-OPTIONS "SAMEORIGIN"

默认情况下,JavaScript无法进行跨域Ajax调用。服务器必须明确允许它。看见当然,任何人都可以使用他们的浏览器或像curl这样的工具来请求数据。问题是,为什么需要保护数据?您的答案必须远远超出jQuery。您需要在服务器级别进行一些身份验证或阻止。你在运行什么服务器?Apache、tomcat、iis等。什么版本的php?@FelixKling这一限制很容易被打破。传入的请求甚至不必是js请求,您可以使用像fiddler这样的工具来伪造请求。那么php呢?有人可以从php中获取数据宽度吗?也有人可以从div中截取数据。