在 rails 中安全地将数据从视图传递到控制器
Pass data safely from view to controller in rails
我想将数据从视图 (link) 传递到控制器,以便它可以查找相关信息。在这种情况下,为公司提供服务。
我看到有人像这样添加到参数的示例:
<div>
<%= link_to 'Services', :controller => 'company', :action => 'services', :company_id => @company.id %>
</div>
...但这会导致像这样的透明(不安全)URL:
http://localhost:5000/company/services?company_id=17
有没有办法在不向会话中填充数据的情况下解决这个问题?在需要身份验证的应用程序中,links 的最佳做法是什么?
<%= link_to "Sign in", new_session_path(:id => Base64.encode64("1")) %>
并在您的控制器中
def new
id=Base64.decode64(params[:id].to_s)
end
这是用数据
创建link的另一种形式
使用命令 un console rake routes 检查你的路由
有关详细信息,请阅读此文档
http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to
在 View 中传递这样的数据没有这么大的危害。
如果你坚持要,那么检查 prettyurls:
http://railscasts.com/episodes/314-pretty-urls-with-friendlyid
在此之前,我们必须对控制器和模型文件进行有效检查。
1. Valid Checks and redirection in Controller is helpful.
2. Depending on need adding validations in model can be a good support.
我想将数据从视图 (link) 传递到控制器,以便它可以查找相关信息。在这种情况下,为公司提供服务。
我看到有人像这样添加到参数的示例:
<div>
<%= link_to 'Services', :controller => 'company', :action => 'services', :company_id => @company.id %>
</div>
...但这会导致像这样的透明(不安全)URL:
http://localhost:5000/company/services?company_id=17
有没有办法在不向会话中填充数据的情况下解决这个问题?在需要身份验证的应用程序中,links 的最佳做法是什么?
<%= link_to "Sign in", new_session_path(:id => Base64.encode64("1")) %>
并在您的控制器中
def new
id=Base64.decode64(params[:id].to_s)
end
这是用数据
创建link的另一种形式使用命令 un console rake routes 检查你的路由
有关详细信息,请阅读此文档
http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to
在 View 中传递这样的数据没有这么大的危害。
如果你坚持要,那么检查 prettyurls:
http://railscasts.com/episodes/314-pretty-urls-with-friendlyid
在此之前,我们必须对控制器和模型文件进行有效检查。
1. Valid Checks and redirection in Controller is helpful.
2. Depending on need adding validations in model can be a good support.