FuelPHPでCSRF対策エラーでのメモ

FuelphpでCSRF対策していると

下記のように記載すると対策できますが、

if(Security::check_token()){
    //正しいポストのときの処理
}else{
    //不正なポストのときの処理
}

なぜか、今まで動いていたのに動かない事象が発生したのでメモとして残しておきます。

 

ヘッダーで、Scriptやlinkでなんだかんだ読み込みをしているかと思います。

これのどこかが影響しているっぽいのでヘッダーを疑うべし。

chromeの検証ツールでみたいたところ、どうも同じURLに対してGETだけをリクエストするのが通常の動作だったのですが、GETの前にHEADでリクエストしている動きを発見。

ファイルアップロードのjavascriptでHEADでアクセスしている箇所があったのでこれが影響。

原因は判明したがもっとセキュリティについても勉強しなくては。

 

Fuelphp自身がワンタイムトークンを利用している点も考慮しないとな。

Dropzoneがよかったが失敗したこと

ドラッグアンドドロップでファイルをアップロードできるツールの「Dropzone」を試しましたがあと一歩できなくて挫折中・・・。

■できたこと
マルチアップローダーだけど、1件ずつ処理していって、サーバー上で登録したサーバー名を返して、アップしたあとに削除ボタンを追加してファイル削除ができるようになったこと。
(同名ファイルだと、問題があったので、同名ファイルアップを禁止に。)

■できなかったこと
サーバー上にすでに登録されているファイルリストを作成して表示すること。
(途中までいったかが追加したボタンを表示できなかった)

 

忘れるのでメモコード。

var mockFile = { name: "file.jpg", size: 12345, url :"/sample" };
var myDropzone = this;
myDropzone.emit("addedfile", mockFile); 
myDropzone.emit("thumbnail", mockFile,mockFile.url+'/'+mockFile.name);
myDropzone.emit("success", mockFile); 
myDropzone.files.push( mockFile ); 

また気が向いた時に試してみよう。