2020年5月の記事一覧

Google chromeのCSRF対策のCookie設定の対策

先日Googleから発表されたCSRF対策でセキュアな環境が確認できないサイトではエラーを出すという仕様。

 

既にディベロッパーツールではエラーが出るようになっている。

A cookie associated with a cross-site resource at http://*****/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.

このサイトでおすすめしているNginxで設定する場合、まずsame-site属性を設定する必要があるようだ。

 参考:ウェブティ株式会社様『様々な環境下でCookieをSameSite=None; Secureに設定して従来通りの挙動に変更する』

まず、php.iniのセッションのフェーズに

session.cookie_samesite=None

を追記してやる。

 

次に、Cookieの設定を変更してやる必要があるようなんだけど、どこで設定するのか分からない、CakePHPなんて触ったこと無い。

とりあえず色々調べていたら、どうやらここで設定しているらしいことを見つけた。

~home/public_html/vendors/cakephp/cakephp/lib/Cake/Controller/Component/CookieComponent.php

 

ここで記述されている、

public $secure = false;

public $secure = ture;

に変えてやると、とりあえずエラーは消えた。

 

アップデートの際には上書きされて消えてしまうと思うので、必ずアップデート後も再度書き換える必要があると思う。

 

※テスト環境では消えたけどこのサイトでは消えない・・・。なぜだ・・・。

0

.gitattributesの場所

 

Webフォントを使用する際、Gitで管理されているソフトの場合だと自サイトとGitとの間で改行コードの相違が起きるらしく、エラーが出る。

参考:ts0818のブログ『『Failed to decode downloaded font』から始まるエラー』

エラー内容

Failed to decode downloaded font: <URL>
OTS parsing error: invalid version tag

そこで下記のファイルを編集し、齟齬を解決する。

/nayuta.xsrv.jp/public_html/vendors/cakephp/cakephp/.gitattributes

上記ファイルの中に下記を追記

*.otf binary
*.eot binary
*.svg binary
*.ttf binary
*.woff binary

これで問題ないかも。

0