2

kohana フレームワークでは、.htaccessファイルに書き込みます

# アプリケーションとシステム ファイルを閲覧されないように保護する

RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L]

わかりました、しかし、なぜ各phpファイルでこのセキュリティが必要なのですか:

<?php defined('SYSPATH') or die('No direct access allowed.'); ?

.php攻撃者はすでにファイルを直接開くことができませんか? (理由は RewriteRule から保護されているため.htaccess)

4

4 に答える 4

2

Simpy: フォールバックです。それだけですが、この回答を公開するには、さらに文字が必要です

于 2013-01-23T12:20:28.700 に答える
2

開発者は、 .htaccess が機能するかどうか (つまり disabled ) に関係なく、ファイルにアクセスできないようにしたかったようですmod_rewrite

ただし、クラス定義のみを含むファイル、または構成配列を返す/定義するファイルの場合、何も出力しないため、とにかく役に立ちません。

于 2013-01-23T12:21:20.363 に答える
2

フレームワーク開発者の観点からは、製品が実行される Web サーバーが正しく設定されているかどうかを確認することはできません (たとえば、.htaccess/RewriteEngine が AllowOverride によって有効にされていないか、mod_rewrite がない場合など)。

この種の「2 番目のチェック」は、ホスティングの設定が不適切な場合でも、フレームワークが機密データを漏らさないようにするためのものです。

于 2013-01-23T12:28:05.550 に答える
1

.htaccessが有効になっているApache でのみ動作しmod_rewriteます。サーバーがこれらの条件のいずれも満たさない場合、これらのSYSPATHチェックが役に立ちます。

注:すべてのユーザーがAapcheを Web サーバーとして使用できるわけではありません。また、すべてのユーザーが にアクセスできるわけではありません.htaccess

今日では他の選択肢があります。のように、nginx。

于 2013-01-23T12:33:24.067 に答える