Go Revelフレームワーク jQuery非同期処理
概要
Go RevelフレームワークでAjax非同期処理を実装します。
CSRF 対策
以下コマンドにより
RevelフレームワークでCSFR対策する為のライブラリをインストール
1 | $ go get github.com/cbonello/revel-csrf |
- app/init.go
ajax実行時にCSRFチェックする為、init.goでのチェックを外すように設定
init.go
GitHub Gist: instantly share code, notes, and snippets.
以下CSRFのFilter設定
1 | func init() |
conf/routes
で実行するAPIのURLはAjax実行時にCSRFチェックする為、
init.goではチェックを対象外とする様に設定
1 | csrf.ExemptedFullPath("/api_execute") |
View側の設定
- views/header.html
<head>〜</head>
内にCSRFチェック用ハッシュ値をmeta情報として埋め込みます。
1 | <meta name="csrf-token" content="{{ .csrf_token }}"> |
jQueryファイル
1 | function setAjaxToken( token ) { |
簡単…とは行ってない気がしますが
CSRF対策ができました。
Go Revelフレームワーク jQuery非同期処理
https://kenzo0107.github.io/2015/08/29/2015-08-30-go-revel-fw-jquery/