なぜワンタイムトークンが必要なのか †
XSS対策のためです。
データの追加・編集・削除といった重大な操作に関しては、引数にワンタイムトークンがないと実行することができないようになっています。
ワンタイムトークンの性質 †
- 1回しか使えない
- 一度そのワンタイムトークンを使うと、二度と使えなくなります。
- しばらく使わないと無効化される
- 現在の設定内容によって、指定時間以前に発行したワンタイムトークンは無効化されます。
- 有効にできるワンタイムトークンの数に制限がある
- 現在の設定内容によって、有効にできるワンタイムトークンの数に制限がかかっています。
例えば、10000個まで有効にできるとすると、10001個目を発行した時に1個目が無効になります。
理想的なワンタイムトークンの取得方法 †
Ajaxを利用し、ワンタイムトークンを必要とするアクションを実行するときに取得して下さい。
例えば、内蔵テンプレートではfunction.js内のget_token関数を利用することにより、動的にワンタイムトークンを取得しています。