任何用戶都可以在我的網站上「喜歡」照片。但是如果他多次按下該按鈕(例如10),則10個發佈請求將被髮送到服務器。 我試圖在會議的幫助下解決。 我認爲這段代碼每5秒鐘只需要一次。但它沒有!還有我的行動和的before_filter:如何保護我的網站免受多個帖子的要求?
def like
photo.create_like if session[:voted].nil?
session[:voted] = Time.now.to_a.first(3).reverse.join
redirect_to root_path
end
def check_session
a = Time.now.to_a.first(3).reverse.join
b = a.to_i - session[:voted].to_i
session[:voted] = nil if b >= 5
end
如何使用JavaScript禁用提交按鈕? –
您可以在'likes'上創建數據庫級別的「唯一約束」,僅強制一對照片用戶存在。限制界面是不可靠的,請求僞造仍然是可能的。改爲限制底層模型。我不會把這個作爲答案發布,因爲我不完全知道這是否適合你的邏輯。即如果你根本沒有'User'。 –