我有一个评论模型。我正在通过将参数从我的视图传递给注释控制器来创建该模型的新实例。以下是评论控制器:通过传递params来创建新模型是否安全?
class CommentsController < ApplicationController
def create
session[:return_to] = request.referrer
@comment = Comment.create(:user_id => current_user.id,
:issue_id => params[:issue_id],
:content => params[:content])
redirect_to session[:return_to]
end
end
这里是我想过去的PARAMS在我看来:
<%= link_to "Test Comment", comments_path(:issue_id => @issue.id,
:content => "HeLLO"),
method: :create %>
我的问题是 - 这是安全的?什么阻止某人更改params [:issue_id]并评论其他问题?有没有更好的方法来做到这一点?
请问你的模型'Comments'在[验证]执行任何授权检查(HTTP访问://指南.rubyonrails.org/active_record_validations_callbacks.html)?您的模型可以扩展到授权吗? – sarnold
不,它没有。我想不出任何验证添加,以防止用户试图更改参数 –