相关疑难解决方法(0)

rails 4.0,rake db:sessions:create

Rails 3.1建议运行

rails generate session_migration
Run Code Online (Sandbox Code Playgroud)

但是,这会产生完全相同的迁移

rake db:sessions:create
Run Code Online (Sandbox Code Playgroud)

但是使用rails 4.0我的设置无法识别任何命令

错误是:

找不到生成器session_migration.

不知道如何构建任务'db:sessions:create'

分别.

我跑了:

gem install'activerecord-session_store'

如何使其工作,以便我可以存储大于4kb的购物车?

session ruby-on-rails

38
推荐指数
1
解决办法
1万
查看次数

rails 3,heroku,如何使用会话

我看到了如何为rails 3设置会话的一个很好的答案(Rails会话当前实践)

我们从用户那里收集了一系列问题,我想在会议中保留他们的答案列表,直到我们结束然后全部写完......

但我不确定如何从会话中写入和读取信息......任何快速指针都会被理解为如何保存,例如,哈希的内容

此外,我们的应用程序托管在Heroku的网格上是否会改变我们可以/应该如何处理会话?

干杯,JP

ruby-on-rails session-variables session-state

8
推荐指数
1
解决办法
6088
查看次数

Rails:在"会话"中存储数据是否安全?

我想存储当前登录用户的类型session[:user_type].选项包括:"admin","end_user","demo"(将来可能会添加更多用户类型).

我想知道在Rails 3应用程序中这样做是否安全.

用户可以以某种方式session[:user_type]从"演示" 更改为"管理员"吗?

security session ruby-on-rails ruby-on-rails-3

6
推荐指数
1
解决办法
4708
查看次数

Rails 3 ActiveRecordStore session_id篡改

我在Rails 3.0.9中共同开发一个简单的Web应用程序,我已经意识到可能通过恶意请求篡改session_id.请注意,这是我的第一个RoR应用程序,因此我的概念可能完全错误.

当前的应用程序功能需要会话,因此我转向ActiveRecordStore会话存储,安装它并开始在原始工作流程中进行测试.我注意到Rails框架使用_session_id一些随机类似哈希的字符串的名称和值创建cookie (在DB SESSION表中,此字符串对应于session_id列).

如果更改了cookie中的值,例如使用Firebug,则当前会话ID将更改为随cookie提供的数据(检查过request.session_options[:id]),并且更改将传播到数据库表,从而创建具有上述参数的新会话记录.

虽然这不会对会话的变量产生任何影响,但会话ID已经从其通常的类似哈希的外观偏离到用户篡改的外观.

这是一个问题 - 如何检测或优先防止这种行为?

security ruby-on-rails session-cookies tampering ruby-on-rails-3

4
推荐指数
1
解决办法
1148
查看次数

Rails - 会话无法通过AJAX登录?

我有一个Rails应用程序,它使用静态html页面(不在app/views /中)向rails服务器发送AJAX请求以进行登录和注销.

我使用会话进行用户身份验证,当用户登录时,session[:userid]设置并将响应"登录"发送回静态html页面.但是当我点击退出按钮后登录后,我发现了session[:userid]变成了nil.

这是我的代码:

登录:

  def login
    # code here
    if encrypt(params[:password]) == @user.password # authenticated
      session[:userid] = @user.id
      render :text => 'logged in'
    else # wrong password
      render :text => 'password not correct'
    end
  end
Run Code Online (Sandbox Code Playgroud)

退出

  def logout
    # here session is no longer available  
    session[:userid] = nil  
    render :text => 'logged out'
  end
Run Code Online (Sandbox Code Playgroud)

登录页面:

    <button id='login_button'>Log in</button>
    <script type="text/javascript" charset="utf-8">
        $('#login_button').click(function() {
            $.ajax({
                type: 'POST',
                url: 'http://localhost:3000/user/login',
                data: { username : $('#login_username').val() …
Run Code Online (Sandbox Code Playgroud)

ajax session ruby-on-rails

2
推荐指数
1
解决办法
2392
查看次数