ActionController::InvalidAuthenticityToken 异常一般出现出现在手写的html form 标签和Ajax请求中,为什么会出现这个异常呢,这是从rails 2.0 开始包含的一个新功能,目的在于防止CSRF(Cross-Site Request Forgery)攻击.
rails 为了保证当前的请求是来自自己的请求,而不是通过其他网站伪造的请求,都会在生成的form 里加入一个隐藏的值
<input type="hidden"
value="457a1e93c3a23ec2c67f1dc468bde6a4a5539610"
name="authenticity_token"/>
生成的ajax代码:
onsubmit="new Ajax.Updater('div', '/cotroller1/action1/1',
{asynchronous:true, evalScripts:true, parameters:Form.serialize(this)
+ '&authenticity_token='
+ encodeURIComponent('457a1e93c3a23ec2c67f1dc468bde6a4a5539610')})
从上面的代码里可以看出关键是要向action 传递authenticity_token这个参数和正确的值
当然如果你认为你的action确实不需要验证,那可以这么写:
#除了index,controller里的其他action都需要验证
protect_from_forgery :except => :index
#只有index需要验证
protect_from_forgery :only => :index
如果是在ajax里可以在服务端生成好需要传入的字符串
"'#{request_forgery_protection_token}='
+ encodeURIComponent('#{escape_javascript
form_authenticity_token}')"
分享到:
相关推荐
使用 Rails 4 的简单聊天应用程序 - ActionController::Live 应用组件: 1 . 使用 Rails 4 ActionController::Live 的聊天应用程序 2 . 基本 LDAP 身份验证 3 . Redis 服务器集成 4 . 彪马服务器 1 . Rails 4 ...
Redis brew install postgresql redis 安装curl get.pow.cx | sh 下载依赖bundle install 符号链接到 pow ln -sf $(pwd)/website ~/.pow/teamstatus 在浏览器中打开故障排除如果您获得ActionController::...
适用于节点的Logitech Dual Action Controller 为EventEmitter提供Logitech Dual Action Controller上的按钮,dpad和模拟摇杆的事件。 受大力启发 安装 npm install logitech-dual-action-controller 用法 步骤1....
Java 异常解决方案 Java 异常是 Java 开发中经常遇到的问题,本文档将提供 Java 异常解决方案,涵盖 Hibernate、Tomcat、Java 基本、JSP、SSH 整合等多个方面的异常解决方案。 一、Hibernate 异常解决方案 * org....
如何设置JWT 在应用程序的根目录中创建一个Procfile.dev并向其中添加以下行。 webpacker: ./bin/webpack-... ActionController::API include ::ActionController::Serialization respond_to :jsonend将以下gem添加到j
back_or_link_to controller: :welcome, action: :index image_button_to controller: :my_models, action: :create link_to 'Link with custom origin', with_detour(destination, origin) 在控制器中: b
构建gem的目的是实现一个类,该类将为ActionController::ConditionalGet#stale?创建选项ActionController::ConditionalGet#stale? 方法。 它允许缓存任何类型的对象,而不仅仅是记录或集合(不同于#stale? )。安装...
蒙皮路由器安装 $ npm install monpy-router例子 var router = require ( 'monpy-router' ) ;router . resolve ( '/' ) ;... add ( '/:controller/:action/:id' ) ;router . resolve ( '/user/edit
本篇将深入探讨Struts2下载取消报异常的解决方法,以及相关的知识点。 1. **Struts2 文件下载原理** - Struts2提供了方便的Action类和结果类型,如`StreamResult`,来处理文件下载。通过设置HTTP响应头,如`...
安装: composer require anlutro/l4-controller 从packagist或GitHub标签列表中选择最新的稳定版本。 警告:版本0.x期间不能保证向后兼容。 控制器 protected function url($action, $params = array()) 这是带...
简易控制器 EasyController 是一个控制器插件,可帮助您在... before_action :find_user , only : [ :show , :edit , :update , :destroy ] def show end def create @user = User . create ( user_params ) end
ASP.NET MVC 异常处理解决方案 ASP.NET MVC 作为一个基于 ASP.NET 的 Web 应用程序框架,提供了一个灵活和可扩展的开发环境。然而,在开发过程中,异常处理是一个不可或缺的部分。ASP.NET MVC 提供了多种方式来处理...
安装 composer require akrabat/rka-slim-controller用法在通常使用闭包的地方使用字符串格式{controller class name}:{action method name} : 例如 $app = new \RKA\Slim();$app->get('/hello:name', 'App\...
注意,该宝石适用于Rails,其中ApplicationController继承了ActiveController :: Base。 ActiveController :: API对Rails应用程序的支持即将推出。 用法 运行Rails服务器或运行rspec并检查log/action_tracer.log 。...
针对Action class [userAction] not found - action 和java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.setId(Ljava/lang/String;...两类异常非常有用的解决方法
喂食器 Feeder 为您提供了一个可安装的引擎,该引擎提供了到 Ruby on Rails 应用程序中提要页面的路由。... ActionController::Base helper Feeder::AuthorizationHelper helper Feeder::LikeHelperend用法
- **发生位置**:y2ssh.sg.chp1.action.AddAction.execute(AddAction.java:18) - **相关代码**:y2ssh.sg.chp1.framework.Controller.doGet(Controller.java:25), y2ssh.sg.chp1.framework.Controller.doPost...
livingroom_controller : module : controllerx class : E1810Controller controller : sensor.livingroom_controller_action integration : z2m light : light.bedroom文献资料您可以在查看文档。 如果您有任何...
AccountController中的SignIn方法用于展示登录视图,而OnSignInError方法则作为登录失败时的错误处理Action: ```csharp public class AccountController : BaseController { public AccountController() : base...
然后在视图中可以使用`createLink(controller: 'book', action: 'list')`或`link(action: 'list', controller: 'book')`生成`/books`的链接。 Grails 2.5.4的URL映射还包含对RESTful服务的支持。通过简单的配置,你...