2
我有一个页面,这将触发一个AJAX请求到服务器,以增量的值用户分享的讯息后:如何防止同一网站伪造?
FB.ui({
method: 'feed',
name: 'Share',
link: 'http://{{ request.META.HTTP_HOST }}{% url "facebook_competition" %}',
}, function(response){
if (response && response.post_id) {
$.post('http://mysite.net/shared/', {post_id:response.post_id});
}
});
我的网站是由CSRF令牌,如下保护:
jQuery(document).ajaxSend(function(event, xhr, settings) {
if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
var csrftoken = $('meta[name="csrf-token"]').attr('content');
//var csrftoken = $.cookie('csrftoken');
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
})
但我怎么有效地防止用户加载页面,然后烧制控制台Ajax请求,如:
for (var i=0; i<100; i++){
$.post('http://mysite.net/shared/', {post_id:1234});
}
我已经考虑IP,检查频率等等等等,但它们非常无效。
为了清楚起见:你可以添加如何等方法是“无效”?从我的个人经验来看,我知道有人窃取您的数据的行为并不多;如果它在网上,任何人都可以阅读,他们可以窃取它。 (“它在网上,所以它必须是免费的”是他们通常的防守......) – usr2564301