Webサイトや1ページにパスワードをかける方法

Webサイトにパスワードをかける方法

Webサイトやページにパスワードをかける方法(実際に効く選択肢) | We.Inc

ページやサイト全体を本当に保護できる方法でパスワードをかけましょう。サーバーのBasic認証、ホストやサイトビルダーのページパスワード、会員アカウント、そしてスクリプトだけの制限が失敗する理由を解説します。

本当のパスワード確認は、ページが送られる前にサーバーで行われます。ホストやサイトビルダーのページパスワード設定、ApacheやNginxのHTTP Basic認証、または正式な会員アカウントを使いましょう。JavaScriptで書いたパスワード入力欄は、ブラウザーでページを隠すだけです。コンテンツ自体は届いており、誰でもソースを読めます。

サイトにパスワードをかける方法

ユーザー名とパスワードを入力すると、Basic認証でブラウザーが送信するAuthorizationヘッダーそのものと、それがいかに簡単に平文に戻るかを確認できます。Basic認証をHTTPS経由でしか使ってはいけない理由がわかります。エンコードはお使いの端末で行われ、何も送信されません。

よくある質問

HTMLだけでページにパスワードをかけられますか?

いいえ。HTMLにはパスワードを確認する手段がありません。ファイルに書いたものはすべての訪問者にダウンロードされるため、確認はサーバーかプラットフォームで行う必要があります。

HTTP Basic認証は安全ですか?

HTTPS経由の場合だけです。RFC 7617では、Base64は暗号化ではなくエンコードであるため、パスワードが平文でネットワークを通ると指摘しており、HTTPSのような手段なしに機密情報の保護に使うべきではないとしています。

WordPressでページにパスワードをかけるには?

ページまたは投稿を開き、公開状態を「パスワード保護」にしてパスワードを入力し、更新します。訪問者にはコンテンツの代わりにタイトルとパスワード入力欄が表示されます。

WordPressサイト全体を保護できますか?

WordPressの公式ドキュメントでは、サイト全体を隠すことはコア機能に含まれないとし、プラグインや.htaccessなどのサーバールールを案内しています。

Basic認証ではブラウザーに何が表示されますか?

サーバーは401とWWW-Authenticateヘッダーで応答します。するとブラウザーがユーザー名とパスワードを尋ね、Authorizationヘッダーを付けてリクエストを再送します。

スクリプトだけの制限が失敗する理由

実際に効く選択肢の選び方

フォルダーを本当に保護するサーバー設定

パスワードファイルはApacheに付属するhtpasswdツールで作成し(例:htpasswd -c /etc/apache2/.htpasswd client)、公開Webフォルダーの外に置きます。

Apache:保護するフォルダー内の.htaccess

Require valid-userは、パスワードファイルに記載された人なら誰でも通します。

Nginx:1つのlocationを保護

Nginxも同じhtpasswdファイル形式を読み込みます。編集後はNginxを再読み込みしてください。

やってはいけない例:JavaScriptによる制限

見分けられるように掲載しています。パスワードもコンテンツも、すべての訪問者がダウンロードするファイルに含まれています。

Basic認証が送信するもの

ユーザー名

パスワード

コロンはパスワードとの区切りになるため、ユーザー名にコロンは使えません。

ブラウザーがすべてのリクエストで送信するヘッダー

リクエストを見た人なら誰でもデコードできる内容

Base64は暗号化ではありません。HTTPSがなければ、このヘッダーからパスワードが漏れます。

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る