【FuelPHP】Cryptクラスの注意 複数台サーバーでの運用

FuelPHPを使用して複数台でのサーバーでの運用を行うことがあります。

その際に注意しなければいけないことが1つあります。

このファイル「/fuel/app/config/crypt.php」Cryptクラスを使用する際に設定ファイルになります。

ファイル内容はこんなのです。本来は英数字ですが、念の為マスクさせて頂いてます。

<?php
return array (
  'crypto_key' => '************************',
  'crypto_iv' => '************************',
  'crypto_hmac' => '************************',
);

Crypt - クラス - FuelPHP ドキュメント


Cryptクラスを使用した結果

Cryptクラスを使用すると「/fuel/app/config/crypt.php」がない場合に自動的に設定ファイルを生成・使用してくれます。

しかし、それが問題です。

デプロイする際に「crypt.php」がアップされていないと自動的に生成されてしまうので、サーバー毎に違う内容で生成されてしまうのでご注意ください。

サーバー毎に違う場合、Cryptクラスを使用した際の結果が違うものになってしまいます。

そのため、セッション情報をサーバーに持っていたりするとキーが違って違うサーバーにアクセスする毎にログアウトされてしまったりします。


同一内容にする

対処は「/fuel/app/config/crypt.php」の内容を全て同一にしてください。

また、このファイルはFuelPHPのデフォルトで「.gitignore」に追加されていますので、該当業を削除するかコメントアウトしてください。


まとめ

自分の環境だけのテストでは確実に発覚しない内容なので、本番環境に近い状況でのチェックが必要になります。

デフォルトでgit管理外なのはありがた迷惑ですね・・・

ただ、暗号化の設定ファイルなので間違えてファイルをアップしてしまってもセキュリティ上問題になりますから困りますね。


0 件のコメント :

コメントを投稿