我想在網頁上註冊各種點擊,例如切換元素的可見性。如何通過AJAX /更新操作安全地註冊頁面上的非路由點擊?
的點擊來自未登錄用戶。
我有一個Impression
模型與actions
屬性存儲中的某一頁上進行操作鍵 - 值對。
上的click事件我更新此功能的記錄:
function sendAjax(id, data) {
$.ajax({
type: "PATCH",
url: '/impressions/update',
data: {'impression_id' : id, 'actions' : data},
success: function(events){
}
});
}
但我意識到這不是安全可言,用戶理論上可以更新自己想要的任何記錄。
我怎麼能更安全地做到這一點,我能以任何方式利用Rails的protect_from_forgery
與我的用例?
我最初的想法是添加一個額外的散列值,您只需使用您擁有的祕密令牌和您想保護的操作生成一個額外的散列值,然後在保存展示前對其進行驗證,但仍然無法阻止用戶從請求發送哈希以及有效修改任何其他記錄,但至少您會保護自己免受隨機記錄的侵入。 – acadavid
您正在做某件事。我*可以*做的是加密我正在更新的記錄的ID,以便它不是一個普通的可替換數字,然後在更新時解密它。 –