如何配置我的应用程序以不列出我的用户控制器中的所有可用操作?

时间:2009-10-14 20:55:43

标签: ruby-on-rails security routing

当我导航到:

http://localhost:3000/users/1

我得到的页面简单地说:

Unknown action

No action responded to show. 

Actions: 
create, current_user, logged_in?, login_required, 
new, and redirect_to_target_or_default
  1. 这不是一个安全风险,因为它告诉我的应用用户我的Users控制器中确切提供了哪些方法?

  2. 为什么会显示可用的操作,是否可以配置?

2 个答案:

答案 0 :(得分:2)

在生产模式下,您没有看到任何类似的调试消息 开始script/server -e production查看。

答案 1 :(得分:1)

正如earcar所说,错误输出仅在开发模式下运行时显示,但对我来说这看起来有点奇怪。您是否已将current_userlogged_in?login_requiredredirect_to_target_or_default定义为UserController中的公开方法?如果是这样,您会希望将其移至ApplicationController并将其声明为private,就像AuthLogic example所示。