.htaccessの.iniファイルへのアクセスを拒否しても安全ですか?

StackOverflow https://stackoverflow.com/questions/216019

  •  03-07-2019
  •  | 
  •  

質問

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ファイルです。好きではないこと:)

実際の実装に関するいくつかの注意事項(これが「オーバーシェア」としてカウントされる場合は謝罪しますが、誰かの時間を節約できるかもしれません):

  1. このファイルにより、IDEが非常に動揺し、自動再フォーマットが試行され、PHPが動揺します。祝福はメモ帳++にあります。
  2. 閉じる; * / を忘れないでください。除外しても機能しますが、PHPは動揺することを警告しています。

ソート済み。

ファイルはApacheからは見えません。明らかに最適なオプションは、サイトのルートの外側に配置することです。それができない場合、.htaccessファイル(またはapache configの同様のディレクティブ)がほとんど唯一のオプションです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top