所以,這是一個Rails應用程序,但更多的是一個普通的紅寶石問題:紅寶石:變量變量/方法調用+安全問題
我有一個模型與幾個範圍。例如:
Photo.recent
Photo.popular
Photo.featured
我有一個「瀏覽照片」的觀點在我的應用程序,我希望能夠通過一個單一的PARAM並讓用戶指定要查看範圍,即:
example.com/photos/browse?view=recent
這給了我params [:view],並且我需要將它附加爲Photo上的一個方法調用。
所以我的第一個問題是,你怎麼能在Ruby中做這樣的事情?第二,如果我不能限制輸入,如果我只是附加照片,這可能是一個安全風險。 whatever the user types in the url
然後我冒着黑客的風險說example.com/photos/browse?view=delete_all
這顯然不是一個好主意。
所以我的第二個問題是,我怎麼能創建一個白名單或什麼可以被稱爲 - 甚至更好的安裝某種方法,可以安全地接受來自URL的參數,只有用戶返回信息請求有效的命名範圍。
最後,我有一些僅適用於管理員的範圍。我有定義的用戶能力(使用CanCan),因此我可以查詢current_user.has_role?
以檢查用戶是否有權進行任何操作,但有沒有辦法將權限與範圍相關聯?
謝謝!
這看起來可行,我認爲範圍的數量是可管理的。出於好奇,你有沒有想法如何做到這一點沒有手動編寫的白名單? – Andrew 2011-03-28 15:25:57
@Andrew請參閱編輯 – 2011-03-28 16:24:06