社長BLOG

HOUOU databases.ymlは隠蔽できるのではないか?

いつも当たり前のように

./symfony openpne:install コマンドを走らせてOpenPNEをインストールするが、いまいち馴染みにくい。
ここで入力した設定ファイルはどこに格納されるのか?( /config/databases.yml なんだけど )

ymlはばれる

またymlファイルは、レンタルサーバに置いたとき、うまく階層構造を隠蔽しないと、データベースのパスワードがバレてしまう心配がある。

プロジェクトとして、この警告を行っていないのは問題だ。

※ちなみにとりあえずの対策としては /config/ディレクトリ以下に .htaccessファイルを作成し、

<Files “databases.yml”>
deny from all
</Files>

このように記述する。ブラウザからアクセスしてみてアクセスが拒否されればOK。
これでだめだったら一旦サイトは停止して対策したほうがいい。

ymlはミスる

ymlの書式は覚えてしまえば簡単なのだが、全く初見のエンドユーザーにとってはミスが起きる原因になるかもしれない。
自分もタブとスペースの使い方を間違えた。広く使ってもらうためには、古いスタイルだがconfig.phpがベストだ。

改善

symfonyではymlファイルの中にphpを埋め込めるそうだ。
config.phpでグローバルに設定した値を、databases.ymlから読み込むようにすればいいんじゃないか。
その他の設定値も、大事なものだけをconfig.phpにまとめて格納し、その他の設定ファイルはなるべく隠蔽させたほうが分かりやすい。

HOUOUの開発系ではできないだろうけど、思いついてしまったので共有しておく。

OpenPNE�~�蓈���񋟃T�[�r�X�̂��m�点

  • ��K�̓z�X�e�B���O
  • �Z�p�T�|�[�g
  • �J�X�^�}�C�Y
  • OpenPNE Manager
  • ���q���܃T�|�[�g

ページの先頭に戻る