超訳CakePHPブログチュートリアル -セキュリティの設定


前の記事まででやったこと:

この記事でやること:

  • データベースのセキュリティを設定する

前回は、CakePHPとデータベースを接続した。
でもlocalhost\index.phpの冒頭に、警告が出ていたね。こんな警告だ。


Notice (1024): Please change the value of 'Security.salt' in app/Config/core.php to a salt value specific to your application [CORE\Cake\Utility\Debugger.php, line 851]
Notice (1024): Please change the value of 'Security.cipherSeed' in app/Config/core.php to a numeric (digits only) seed value specific to your application [CORE\Cake\Utility\Debugger.php, line 855]


今回はこの警告をなくしていくよ。

警告の内容は、
サルトが設定されてないよ
シードが設定されてないよ
と言った意味になる。

サルト?シード?、ってなんだろうね。

簡単に説明すると、

  • サルトはセキュリティの文法
  • シードはセキュリティの鍵
という意味になる。(すごく大雑把で、専門家から見たら文句が出そうだ…)

今は、こんなものがあるんだ、程度で構わないよ。
実際にweb上に公開するつもりで、どちらも設定しておこう。


サルトを設定する:

サルトの設定は、/app/Config/core.phpの200行目付近にある。

そうそう、メモ帳では行数の確認ができないから、
別にエディタを準備した方が使いやすいよ。

僕のオススメは、

このヘンかな。下に行くほどコアなツールになっているよ。
エディタはある程度、慣れが必要だ。
エディタに気を取られたくないなら、notepad++かサクラエディタがいいと思う。

さて、CakePHPに戻ろう。
変更前:
/**
 * A random string used in security hashing methods.
 */
 Configure::write('Security.salt', 'qwertyuiopなんか文字がたくさんある');
変更後:値は自分で好きな値にしてね。推測できないものがいいよ
/**
 * A random string used in security hashing methods.
 */
 Configure::write('Security.salt', 'pl345e-P45s_7h3*S@l7!');
さて、上書き保存して、localhost/index.phpにアクセスしてみよう。
サルトの警告がなくなったのが分かるはずだ。
次はシードを設定しよう。

シードを設定する:

さっきの'Security.salt'のすぐ下なんだけど
/**
 * A random numeric string (digits only) used to encrypt/decrypt strings.
 */
 Configure::write('Security.cipherSeed', '76859309なんか数字がたくさん');
これを変更しよう。同じく自分で適宜置き換えて欲しい
/**
 * A random numeric string (digits only) used to encrypt/decrypt strings.
 */
 Configure::write('Security.cipherSeed', '7485712659625147843639846751');

CakePHPにtmpフォルダの編集を許可する:

サーバー上からファイルを編集するには、さらに設定が必要だ。
app/webrootにwhoami.phpというファイルを作る。 ファイルに以下をコピーする。
<?php echo `whoami`;?>
ブラウザから(root)/whoami.phpにアクセスする。

表示されるユーザーを確認する。

今度はファイルエクスプローラに戻って、app/tmpを右クリックしてプロパティ。
ブラウザで確認したユーザーが、書き込み権限を持っているか確認する。
持ってなかったらチェックを入れる。

以上でセキュリティの設定は終了だ。

この記事でやったこと:

  • データベースのセキュリティを設定した