バージョン選択

フォーラム

メニュー

オンライン状況

117 人のユーザが現在オンラインです。 (73 人のユーザが フォーラム を参照しています。)
登録ユーザ: 2
ゲスト: 115
steven red もっと...

サイト内検索

質問 > フロント機能 > CSRFトークンについて

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yuy-tank
投稿日時: 2019/4/11 11:13
対応状況: 開発中
常連
登録日: 2017/11/10
居住地:
投稿: 63
CSRFトークンについて
ECCUBEの本体を見ると、フォームが用意されているページでは、テンプレート側にCSRFトークンが埋め込まれておりますが、コントローラー側では、isTokenValid()をしているページとしていないページがあります。
これについて、明示的にisTokenValid()を行わなくても、CSRFトークンの判定をしてくれていると解釈していますが、明示的に行うのはどういった時なのでしょうか?
nyorai
投稿日時: 2019/4/11 15:39
対応状況: −−−
長老
登録日: 2015/8/21
居住地:
投稿: 258
Re: CSRFトークンについて
フォーム(FormType)を利用しているコントローラでは、

if ($form->isSubmitted() && $form->isValid()) {
//
}

のような記述があると思いますが、通常は$form->isValid()でcsrfトークンのチェックが行われます。

$this->isTokenValid()を利用しているのは、例えば会員の削除処理など、フォーム(FormType)を使用しない箇所ですね。

https://github.com/EC-CUBE/ec-cube/blob/3.0/src/Eccube/Controller/Admin/Customer/CustomerController.php#L191

こういった箇所ではisTokenValid()で明示的にチェックしています。
yuy-tank
投稿日時: 2019/4/11 22:31
対応状況: −−−
常連
登録日: 2017/11/10
居住地:
投稿: 63
Re: CSRFトークンについて
そういうことなんですね。納得いたしました。
わかりやすく説明していただき、ありがとうございました。
yuy-tank
投稿日時: 2019/4/12 14:37
対応状況: −−−
常連
登録日: 2017/11/10
居住地:
投稿: 63
Re: CSRFトークンについて
申し訳ありません。追加で質問があります。
isTokenValid()を使用しているページでは、テンプレート側に以下の記述があります。

{{ csrf_token_for_anchor() }}


これは、展開すると、token-for-anchor = " ********** " (トークン値) となるわけですが、isTokenValid()を実行する際に、この属性token-for-anchorを一体どこで拾っているのでしょうか?どうか教えてください。
umebius
投稿日時: 2019/4/13 18:26
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1296
Re: CSRFトークンについて
token-for-anchor = " ********** "
はその名の通り、アンカータグ(リンク)につけるためのものです。

このリンクをクリックしたタイミングで、javascriptの下記の部分で「_token」というパラメーターを加えたフォームが擬似的に生成されデータを送信します。

https://github.com/EC-CUBE/ec-cube/blob/3.0.17/html/template/default/js/function.js#L359


----------------
EC-CUBE3系4系 カスタマイズ ECのプロがシステム特急案件承ります。
公式インテグレートパートナー (株)U-Mebius

yuy-tank
投稿日時: 2019/4/15 12:05
対応状況: −−−
常連
登録日: 2017/11/10
居住地:
投稿: 63
Re: CSRFトークンについて
なるほど、javascriptで_tokenというパラメータを生成していたのですね。盲点でした。解凍して頂き、ありがとうございました。
umebius
投稿日時: 2019/4/21 9:16
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1296
Re: CSRFトークンについて
そうですね、結構javascriptが使われていて盲点になっています。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


ec-cube.co

統計情報

総メンバー数は46,470名です
総投稿数は92,301件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1904
4
468
1791
5
yuh
1594
6
red
1313
7
umebius
1296
8
fukap
907
9
tsuji
840
10
shutta
835
11 ramrun 789
12
tao_s
758
13
h_tanaka
748
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© LOCKON CO.,LTD. All Rights Reserved.