10便利なhtaccessコードスニペットとハック
公開: 2020-09-10.htaccess
は、すべてのWeb管理者が知って理解する必要のある1つのファイルです。 基本的なレベルでは、サイトのディレクトリへのアクセスを制御します。 ただし、この投稿のスニペットに示されているように、できることは他にもたくさんあります。
.htaccess
の基本を学びたい場合は、.htaccessの概要の記事を確認してください。この記事では、起動して実行するために必要なすべてのことを十分に説明しています。
また、これらの便利なWordPress SQLクエリスニペットや、WordPressをクライアントにとって使いやすいものにするこれらのスニペットもお勧めです。
1.ファイルとディレクトリへのアクセスの制御
パスワード保護は1つのことですが、特定のファイルまたはディレクトリにアクセスするオプションをユーザーが持つことを完全にブロックする必要がある場合があります。 これは通常、アプリケーションがアクセスする必要があるincludes
フォルダーなどのシステムフォルダーで発生しますが、ユーザーが特権を必要とすることはありません。
これを行うには、このコードを.htaccess
ファイルに貼り付けて、次のディレクトリにドロップします。
ただし、これにより、あなたを含むすべての人へのアクセスがブロックされます。 アクセスを許可するには、IPアドレスを指定する必要があります。 コードは次のとおりです。
xxx.xxx.xxx.xxx
はあなたのIPです。 たとえば、最後の3桁を0/12
に置き換えると、同じネットワーク内のIPの範囲が指定されるため、許可されているすべてのIPを個別にリストする手間が省けます。
.htaccess
自体を含む特定のファイルへのアクセスをブロックする場合は、代わりに次のスニペットを使用してください。
同様に、特定のIPを許可する場合は、allowfromをallow from
てそれらをリストします。
特定のファイルタイプへのアクセスをブロックする場合は、代わりにこれを使用してください。
2.ディレクトリブラウジングを無効にする
ディレクトリの参照を防ぐには、次を追加します。
ただし、何らかの理由でディレクトリブラウジングを有効にする場合は、次のように変更します。
3.ファイルを圧縮することによるロード時間の高速化
画像だけでなく、あらゆる種類のファイルを圧縮できます。 たとえば、 HTMLファイルを圧縮するには、次を使用します。
TEXTファイルを圧縮するには、次を使用します。
JavaScriptを圧縮したり、1つのコマンドで複数のファイルタイプに圧縮を追加したりすることもできます。
または、JavaScript、HTML、CSSファイルをすべてGZIPで圧縮する場合は、次の方法を使用できます。
4.ホットリンクからサイトを保護します
画像をホットリンクしたくない場合は、これを.htaccess
ファイルに追加します。
yourdomain.comを独自のものに置き換えるだけで、準備は完了です。
5.特定のドメインから紹介された訪問者をブロックする
歓迎しない特定のドメインのユーザーがいる場合は、そのユーザーをサイトから禁止することができます。 たとえば、トラフィックを望まない場所(つまり、アダルトサイト、ブラックハットサイトなど)にサイトがリストされている場合は、403Forbiddenページでそれらを提供できます。 mod_rewrite
を有効にする必要がありますが、通常はオンになっているので問題ありません。 このスニペットを追加します:
bannedurl1.com
やbannedurl2.com
などを、ブラックリストに登録するドメイン名に置き換える必要があります。 入力したドメイン名では大文字と小文字が区別されないことを指定しているため、 [NC]
フラグを使用することをお勧めします。 [F]
フラグは、実行するアクションを指定します。この場合は、403Forbiddenエラーを表示します。 複数のサイトを禁止する場合は、最後を除くすべてのドメインに[NC,OR]
フラグを使用し、単一のドメインを禁止する場合は、 [NC]
フラグのみを使用します。
6.特定のユーザーエージェントからのリクエストのブロック
ログファイルに特定のユーザーエージェント(ボットまたはスパイダー)が表示されている場合は、 .htaccess
に数行追加して、サイトへのアクセスを拒否できます。
badbot1
、 badbot1
などをログファイルのボットの名前に置き換えます。 これはそのようなプログラムをあなたのサイトから遠ざけるはずです。
7.ファイルのキャッシュ
サイトの読み込み時間を短縮するもう1つの方法は、ファイルキャッシュを使用することです。 ファイルをキャッシュするために追加する必要があるものは次のとおりです。
この例にリストされているファイルのシーケンスにさらにファイルタイプを追加(または一部削除)することができます–自分に合った方法を実行してください。 max-age
を使用して、ファイルがキャッシュに存在する時間を秒単位で指定することもできます。
8.特定のファイルタイプのキャッシュを無効にする
特定のファイルタイプをキャッシュしたくない場合は、それらをキャッシュシーケンスに含めない方が簡単です。 ただし、ファイルを明示的にリストしていなくてもファイルがキャッシュされる場合があります。この場合、ファイルに対してのみキャッシュを無効にすることができます。 ほとんどの場合、スクリプトなどの動的ファイルのキャッシュを無効にする必要があります。 これを行う方法は次のとおりです。
キャッシュを無効にするファイルをパイプするだけで、これで完了です。
9.ダウンロードダイアログをバイパスする
デフォルトでは、Webサーバーからファイルをダウンロードしようとすると、ファイルを保存するか開くかを尋ねるダイアログが表示されます。 この対話は、大きなメディアファイルやPDFで特に苛立たしいものです。 サーバーにアップロードしたファイルがダウンロード用である場合は、ユーザーの手間を省き、直接ダウンロードに進むことができます。 .htaccess
で設定する必要があるものは次のとおりです。
.htaccess
ファイルの名前を変更する
何らかの理由で、主にセキュリティ関連で、 .htaccess
ファイルの名前を変更したい場合は、非常に簡単です。 理論的には、 .htaccess
ファイルの名前を変更しても、サーバーで実行されているアプリケーションに問題は発生しませんが、ファイルの名前を変更した後でそのような問題に気付いた場合は、名前を元の名前に戻してください。
また、ファイル自体または.htaccess
が記載されているすべての場所のエントリを更新する必要があります。 そうしないと、多くのエラーが発生します。
11.デフォルトのインデックスページの変更
インデックスページをデフォルトのindex.html
、 index.php
、 index.htm
などとは異なるものにしたい場合、これは非常に簡単です。 .htaccess
に追加する必要があるものは次のとおりです。
mypage.html
を、インデックスとして使用するページの実際のURLに置き換えれば、完了です。
12.安全なhttps接続へのリダイレクト
HTTPSを使用していて、ユーザーをサイトの安全なページにリダイレクトする場合は、次を使用します。
13. PHPでのファイルのアップロード制限、投稿データの最大サイズ、最大スクリプト実行時間などの制限。
.htaccess
を使用すると、PHPアプリケーションに直接影響するいくつかの値を設定できます。 たとえば、PHPでアップロード制限を課して、ファイルが大きいためにホスティングスペースが不足しないようにする場合は、次を使用します。
もちろん、適切と思われる値に設定できます。この例の15M(MB)は固定されていません。 PHPでアップロードする投稿の最大サイズを制限することもできます。 これを行うには、次を追加します。
同様に、 10M
を自分に合った任意の値に変更できます。 スクリプトを永久に実行したくない場合は、次の方法で実行時間を制限できます。
240
は、スクリプトが終了するまでの秒数であり、ご想像のとおり、任意の値にすることができます。 最後に、スクリプトが入力データを解析できる時間を制限する場合は、次を使用します。
そして、あなたに合った秒単位の値を設定します。
14.ファイルタイプの偽装
サイト上のファイルのファイルタイプをユーザーに知られたくない場合があります。 この情報を隠す1つの方法は、それらを偽装することです。 たとえば、すべてのファイルをHTMLまたはPHPファイルのように見せることができます。
.htaccess
でできることは他にもたくさんあります。 たとえば、サイトのページの自動翻訳を設定したり、サーバーのタイムゾーンを設定したり、URLからwwwを削除したり、豪華なディレクトリリストを使用したりできます。いずれの場合も、 .htaccess
で実験を開始する前に、必ず元のファイルをバックアップしてください。 .htaccess
なので、予定どおりに進まない場合は、元に戻す作業コピーがあります。