.htaccessの.iniファイルへのアクセスを拒否しても安全ですか?
質問
php wabアプリに機密情報を含む.iniファイルがあります。 .htaccessファイルを使用したアクセスを拒否しました:
<files my.ini>
order deny,allow
deny from all
</files>
htdocs以外のフォルダにアクセスできないため、閲覧可能な領域から.iniファイルを移動できません。
ソリューションは安全ですか?
解決
.htaccessはWebからのアクセスをブロックします。ただし、共有ホスティング環境を使用している場合、他のユーザーがiniにアクセスできる可能性があります。 (仮想プライベート)サーバー上にあり、そのサーバーの唯一のユーザーであれば、安全です。
共有ホスティングの場合、サーバー構成に依存します。 詳細については、共有ホスティング環境でのPHPセキュリティ
一時的に PHPShell をインストールし、サーバーファイルシステムを参照して、サーバーが脆弱かどうかを確認できます。 (コマンドラインの知識が必要です)
他のヒント
別の優れたソリューションと私の個人的なお気に入り(特に厳しい.htaccess制御下にないコードを開発する場合)は、実際の.iniファイルを保護することです。親切な魂に感謝こちら-ユーザーノート:pd at frozen-bits dot de 、私がしていることは:
my.ini -> changes to my.ini.php
my.ini.phpの開始:
;<?php
;die(); // For further security
;/*
[category]
name="value"
;*/
完璧に動作します!ファイルに直接アクセスすると、表示されるのは「;」のみです。 これは有効で解析可能な.iniファイルです。好きではないこと:)
実際の実装に関するいくつかの注意事項(これが「オーバーシェア」としてカウントされる場合は謝罪しますが、誰かの時間を節約できるかもしれません):
- このファイルにより、IDEが非常に動揺し、自動再フォーマットが試行され、PHPが動揺します。祝福はメモ帳++にあります。
- 閉じる
; * /
を忘れないでください。除外しても機能しますが、PHPは動揺することを警告しています。
ソート済み。
ファイルはApacheからは見えません。明らかに最適なオプションは、サイトのルートの外側に配置することです。それができない場合、.htaccessファイル(またはapache configの同様のディレクティブ)がほとんど唯一のオプションです。