前の記事まででやったこと:
この記事でやること:
- データベースのセキュリティを設定する
前回は、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!');
サルトの警告がなくなったのが分かるはずだ。
次はシードを設定しよう。
シードを設定する:
さっきの'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を右クリックしてプロパティ。
ブラウザで確認したユーザーが、書き込み権限を持っているか確認する。
持ってなかったらチェックを入れる。
以上でセキュリティの設定は終了だ。
この記事でやったこと:
- データベースのセキュリティを設定した
次回は、記事モデルを作成する