質問: HTML5とCSSでポートフォリオサイトを作成しています。 表題の件です。 ページ全体にパスワード認証をかけ、 ●認証された場合:サイト内の一部に画像Aが表示され、クリックして別ページに飛べる ●認証されなかった場合:基本的な表示は認証された場合と同じだが、画像Aの部分だけ画像Bが表示され、クリックすることができない。 このようなサイトを作りたいと思っています。 ページ全体に閲覧制限をかける方法は、分かったのですが、 パスワード認証によって、一部の表示を変えることは可能でしよか? 可能でしたら、その方法を教えて頂きたいです。 よろしくお願いします。 -------情報追加(0216)------- HTMLとCSSは一通り理解していますが、 JavaScriptは勉強中です。 JavaScriptを使用して簡単なパスワード認証をかけるつもりです。
回答: 「HTTP自体のパスワード認証で」表記のようなことを行うことは、理論的には実装可能ですが、通常、そのような実装は**行いません**。というのも、 * 初めて来たユーザーは、ページの中身を見る前に認証ダイアログだけ見せられてしまう * Googleのクローラーも、認証失敗のページをコンテンツだとは認識しない(ステータスコードが401となる) という2点があるので、認証できないユーザーには寄り付き難いサイトとなってしまうからです(逆に、関係者しか使わないサイトであれば、「認証失敗時のサイト」を用意することも不要でしょうし)。 こういう場合、通常はサーバサイドにPHPなど何かしらのプログラムを用意して、そちらでログインをハンドリングする、というのが適切な手法です。そうすれば、ログイン前のページも(ステータス200で)通常通り表示されることとなります。