【问题标题】:Rails: InvalidAuthenticityToken while token is suppliedRails:提供令牌时无效的AuthenticityToken
【发布时间】:2010-10-19 01:50:18
【问题描述】:

我正在尝试使用 Java Applet 将文件上传到我的 rails 应用程序。但是我不断收到以下错误,我不知道为什么:

Processing CategoriesController#upload_image (for 127.0.0.1 at 2010-10-18 20:32:54) [POST] 参数:{"partitionIndex"=>"0", "fileId"=>"8278320", "lastModified"=>"2010-09-18T14:31:12.610-0500", "fileLength"=>"18571", " fileName"=>"dreamstime_1038438.jpg.zip", "partitionCount"=>"1", "authenticity_token"=>"NHX938BYOQr/B4t1pb4pTMlgEFumfveXGxtROSChJpk=", "file"=>#}

ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken): :10:在synchronize' C:/Ruby/lib/ruby/1.9.1/webrick/httpserver.rb:111:inservice' C:/Ruby/lib/ruby/1.9.1/webrick/httpserver.rb:70:in run' C:/Ruby/lib/ruby/1.9.1/webrick/server.rb:183:inblock in start_thread'

如上所示,我包含了参数authenticity_token。 authenticity_token 参数由 form_authenticity_token() 生成。在同一个页面中有一个表格,authentity_token 是完全一样的。任何想法我在这里俯瞰什么?

【问题讨论】:

    标签: ruby-on-rails security file-upload token applet


    【解决方案1】:

    Authenticity 令牌用于防止 CSRF 攻击(更多信息:Understanding the Rails Authenticity Token)。
    也许你的小程序没有维护它的会话?并且每个请求都作为单独的会话发送?这会导致您面临的错误发生。

    【讨论】:

    • 不维护会话很可能是问题所在。 java 小程序如何加入与其所在页面相同的会话?
    • 非常抱歉,但我不知道。尝试提出一个单独的问题并将其标记为 java 小程序 Q。
    • 谢谢,您对会议的看法是正确的。我可以通过将会话 ID 作为参数传递来复制页面会话。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2017-04-17
    相关资源
    最近更新 更多