DirectoryタグをVirtualHostsの内部と外部に配置することに違いはありますか?内部に同じディレクトリタグがあり、外部に同じディレクトリタグを持つ複数のVirtualHostを含む構成ファイルが見つかりました。したがって、この重複を取り除くことを考えていますが、関連するセマンティクスを完全には理解していません。
<VirtualHost>内の<Directory>は、そのVHostを介してアクセスされた場合にのみ、そのディレクトリ内のファイルに適用されます。 <VirtualHost>の外にある<Directory>は常に適用されます(もちろん、<VirtualHost>または他の場所でオーバーライドされない限り)。
セキュリティの観点から、双方を議論することができます。別のVHost上のスクリプト間の予期しない相互作用により、<VirtualHost>内で構成するために、追加のアクセスレベル(AllowOverride all
、f.ex。)がおそらく賢明です。 XSS攻撃を開始します。アクセスの制限(Deny from all
、Allow from 127.0.0.1
)は、トップレベルのエイリアスやScriptAliasなどを介したバックドアがある場合に備えて、<VirtualHost>の外部でより意味があります。次に、非常に複雑な可能性があります。パフォーマンスやセキュリティ上の理由でスクリプトエンジンが無効になっているVHostがある可能性があるため、AllowOverride all
のアクセス制限を強化する.htaccess
はどこにありますか。しかし、通常は.htaccess
で保護されている機密情報を含むファイルを公開するのはどれですか?
結局のところ、<Directory>を配置する場所は、重要度の高い順に3つの組み合わせになります。
Include
を使用するなどの対策を講じることをお勧めします)。