人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

CakePHPやWordPressなどをインストールする際、多くの書籍やWebサイトでは、ドキュメントルート以下に設置するように書かれています。個人的に、すごく気持ち悪いのですが、仕方なくドキュメントルートに設置しています。

Railsの場合、シンボリックリンクをドキュメントルート以下に設定し、実態は/var以下などに設置するようにしていました。

PHPのフレームワークやCMSツールでも、ドキュメントルート以外に設置することは可能なのでしょうか。また、可能である場合、ドキュメントルートに設置する場合と、シンボリックリンクを貼る場合では、リスクはどう異なるのでしょうか。教えてください。

●質問者: gets_itai
●カテゴリ:ウェブ制作
✍キーワード:CakePHP CMS PHP Rails webサイト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● palo
●60ポイント

PHPのアプリケーションをキュメントルート以外に設置することは可能です。

アプリケーション付属のインストール・プログラムがある場合には、

インストール・プログラムを使用してドキュメントルート以下のサブディレクトリにインストールして、

手作業で /var 以下に移動して、apache の alias やシンボリックリンクを設定することもできます。

アプリケーションによっては、スクリプト等の絶対パスを設定に記録するものありますので、

注意が必要です。

セキュリティ上のリスクは、あまり関係ないのではないでしょうか。

◎質問者からの返答

リスクは関係ないんですねー


2 ● tdoi
●10ポイント ベストアンサー

ドキュメントルート以下に置く必要はありません。

CakePHPに関してですが、以下のサイトのようにすることでできます。

セキュリティということに関してですが、適切に設計されたフレームワーク上で、適切なプログラムを書いてあれば、問題はないとは思います。

CakePHPにおいては、たとえば、ドキュメントルート以下にすべておいたとしても、.htaccessに記述したmod_rewriteの制御によって実質的には、app/webroot以下にしかアクセスされません。

ただ、悪いところを強いてあげるのであれば、これはあくまで適切な環境下だということです。

httpd.confでAllowOverwriteが拒否してあるために、.htaccessが有効でない

.htaccessの記述を間違った場合に、想定外のファイルにアクセス可能となる。

という可能性はあるかと思います。

その際に、テスト用に何か見せたくない情報を表示するスクリプトが残っていた、アタックの原因となるスクリプトにアクセスを許してしまう、想定外のデータを作成してしまうスクリプトがある、などの状況下であれば、それがセキュリティ的な問題を引き起こす可能性はゼロではないと言えるかとは思います。


この他に想定するのであれば、OSレベルでのファイル管理の関係の問題もあるかもしれません。

ファイルアップロードなどの関係で、ドキュメントルートには比較的緩いOSレベルでのアクセス制限をかけておいて、/varなどのシステムディレクトリには、比較的厳しいOSレベルでの制限をかけているのであれば、万が一ハックされた際の影響範囲なども変ってくるということもあるかもしれません。

配備する環境によっては、この他の懸念事項もないとは言えないと思います。


このようなことに意識を向けて、システムを検討すること自体はよいことだとは思いますが、

適切に管理している限り、このようなリスクを考えることよりも、フレームワークが推奨する方法で配備する方が、トラブルも少なく、いろいろな面でメリットが多いのではないかと思います。


何かの参考になれば。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ