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