MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
設定 - .htaccessのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
設定 - .htaccess
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == <br><br> == Filesディレクティブ == Apache2のセキュリティを向上させる重要なツールの1つである。<br> <br> Filesディレクティブは、特定のファイルやファイルタイプに対してアクセス制御を行うために使用する。<br> 特定のファイルやファイルタイプへのアクセスを制御することにより、機密情報の保護や不正アクセスの防止に役立つ。<br> <br> * 特定のファイルへのアクセス制御 *: 特定のファイル名やファイルパターンに対して、アクセス権限を設定できる。 * セキュリティ強化 *: 重要なファイルや設定ファイルへの不正アクセスを防ぐ。 * 柔軟な設定 *: ワイルドカードを使用して、複数のファイルに一度に適用することができる。 <br> <syntaxhighlight lang="apache"> <Files "filename"> # ここにディレクティブを記述 </Files> # 例 1: .htaccessファイル自体へのアクセスを拒否する場合 <Files ".htaccess"> Require all denied </Files> # または <Files ~ "^.*\.([Hh][Tt][Aa][Cc][Cc][Es][Ss][Ss])$"> Order allow,deny Deny from all </Files> # 例 2: 複数のファイルタイプに対して設定を適用する場合 <Files ~ "\.(php|ini)$"> Require all denied </Files> </syntaxhighlight> <br><br> == FilesMatchディレクティブ == FilesMatchディレクティブは、Filesディレクティブの拡張版と考えることができる。<br> <br> 正規表現を使用することにより、複雑なルールを簡潔に記述でき、Apache2のセキュリティと柔軟性を向上させることができる。<br> 特に、より精密なファイルアクセス制御が必要な場合に有用である。<br> <br> * 正規表現によるマッチング *: FilesMatchは正規表現を使用してファイル名やパターンにマッチするため、より柔軟で強力なマッチングが可能である。 * 複雑なパターンの指定 *: 複数の条件や複雑なファイル名パターンに対して設定を適用できる。 * 効率的な設定 *: 1つのディレクティブで多様なファイルタイプやパターンを指定できるため、設定がより簡潔になる。 <br> <syntaxhighlight lang="apache"> <FilesMatch "<正規表現>"> # ここにディレクティブを記述 </FilesMatch> </syntaxhighlight> <br> <syntaxhighlight lang="apache"> # 例 1: 特定の拡張子を持つファイルへのアクセスを拒否する場合 # 指定された拡張子 (.htaccess、.htpasswd、.ini等) を持つファイルへのアクセスを拒否している <FilesMatch "\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$"> Require all denied </FilesMatch> # 例 2: 特定のパターンを含むファイル名へのアクセスを許可する場合 # "index"、"main"、"home"で始まり、".php"または".html"で終わるファイルへのアクセスを許可している <FilesMatch "^(index|main|home)\.(php|html)$"> Require all granted </FilesMatch> # 例 3: 特定の文字で始まるファイルへのアクセスを制限する場合 # 数字で始まる全てのファイルへのアクセスを拒否している <FilesMatch "^[0-9]"> Require all denied </FilesMatch> # 例 4: .htaccessファイルと同階層にあるhogeディレクトリ内にある全てのXMLファイルへのアクセスを拒否する場合 # サイトマップは全て閲覧可能にする <FilesMatch "^hoge/.*\.xml$"> Require all denied </FilesMatch> </syntaxhighlight> <br><br> == Directoryディレクティブ == Directoryディレクティブは、Apache2の設定を細かく制御するための重要なツールである。<br> <br> Directoryディレクティブは、特定のディレクトリやそのサブディレクトリに対して設定を適用するために使用する。<br> サイトの構造に合わせて適切に使用することにより、セキュリティ、パフォーマンス、機能性を向上させることができる。<br> <br> * ディレクトリ単位の設定 *: 特定のディレクトリとそのサブディレクトリに対して、一括で設定を適用できる。 * 階層的な設定 *: Webサイトの構造に合わせて、異なるディレクトリに異なる設定を適用できる。 * 柔軟なアクセス制御 *: 特定のディレクトリに対するアクセス権限、実行可能なスクリプト、インデックスオプション等を制御できる。 <br> <syntaxhighlight lang="apache"> <Directory "/path/to/directory"> # ここにディレクティブを記述 </Directory> </syntaxhighlight> <br> <syntaxhighlight lang="apache"> # 例 1: 特定のディレクトリへのアクセスを制限する場合 # /var/www/html/adminディレクトリへのアクセスにおいて、特定のIPアドレス範囲とホストからのみ許可している <Directory "/var/www/html/admin"> Require ip 192.168.1.0/24 Require host example.com </Directory> # 例 2: .htaccessファイルと同階層にあるhogeディレクトリおよび直下のファイル群へのアクセスを拒否する場合 # "hoge"は、.htaccessファイルからの相対パス # "/hoge"は、ドキュメントルートからの相対パス <Directory "hoge"> Require all denied </Directory> # 例 3: ディレクトリ内のPHPファイルの実行を禁止する場合 # /var/www/html/uploadsディレクトリ内のPHPファイルの実行を禁止している <Directory "/var/www/html/uploads"> <FilesMatch "\.php$"> Require all denied </FilesMatch> </Directory> # 例 4: ディレクトリインデックスを設定する場合 # /var/www/html/publicディレクトリでディレクトリリスティング (インデックス) を有効にして、見栄えの良い表示オプションを設定している <Directory "/var/www/html/public"> Options +Indexes IndexOptions FancyIndexing </Directory> # 例 5: 特定のディレクトリでのリライトルールの適用する場合 # /var/www/html/blogディレクトリ内で特定のURLパターンをPHPスクリプトにリダイレクトしている <Directory "/var/www/html/blog"> RewriteEngine On RewriteRule ^article-([0-9]+)\.html$ article.php?id=$1 [L] </Directory> </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:Web]]
設定 - .htaccess
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse