質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

意見交換

クローズ

6回答

1721閲覧

ベーシック認証について

kirari

総合スコア3

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2024/02/08 13:14

編集2024/02/08 14:24

0

0

会員ページでベーシック認証を設定する方法

ベーシック認証をかける意図は、
会員様以外の人のログインを阻止するためです。

つまり登録してもらった会員様はスムーズにログイン、登録していない非会員はベーシック認証、なるべくこのようにしたいのです。

かなり長時間ログインしてないとベーシック認証が発動する状態にする、
よく会員サイトを見ている会員様はベーシック認証が発動しない。

以前のプログラマーの方は、設定をしてくれていたみたいで、何か方法があるのではないかとは思っております。

私自身そのような設定をした経験がないので、ご教授頂けますと大変有り難いです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答6

#1

maisumakun

総合スコア145930

投稿2024/02/08 14:22

実装したいものは、本当にBASIC認証で間違いないでしょうか?

BASIC認証は、ブラウザに組み付けのID/パスワード画面がポップアップして出てくるもので、正直言ってエンドユーザーに見せるような用途で使うものではないです。

(ブラウザのHTML内にID/パスワードの入力を行うものは、BASIC認証ではありません

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

kirari

総合スコア3

投稿2024/02/08 14:39

ご回答ありがとうございます。

Basic認証です。

wordpress上で「HTTP Auth」というプラグインを設定したのですが、毎回ベーシック認証がかかるため、実現したいのは上記の通り、どのように実装すれば良いでしょうか? ベーシック認証ではないのでしたら、実装方法を教えて頂けますと助かります。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

actorbug

総合スコア2381

投稿2024/02/08 20:53

こちらにも、全く同じ内容の質問がされていますが、あなたの質問でしょうか。
https://ja.stackoverflow.com/questions/98572/basic%e8%aa%8d%e8%a8%bc%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95%e3%82%92%e6%95%99%e3%81%88%e3%81%a6%e3%81%8f%e3%81%a0%e3%81%95%e3%81%84

teratailでは、マルチポスト※の推奨はしていません。
※「マルチポスト」とは、同じ内容の文章を複数のQ&Aサイトや掲示板などへ投稿することです。
https://teratail.com/help#posted-otherservice

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

odataiki

総合スコア969

投稿2024/02/09 04:06

HTTP Authというプラグインを調べてみました。
https://under-blog.com/https-auth

ちなみに、Basic認証は一度ログインすると、ブラウザのキャッシュが残って自動でログインされてしまうので、

ブラウザのキャッシュが残っていて自動ログイン出来ていたのではないでしょうか。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#5

otn

総合スコア85766

投稿2024/02/09 09:57

編集2024/02/09 10:05

かなり長時間ログインしてないとベーシック認証が発動する状態にする、
よく会員サイトを見ている会員様はベーシック認証が発動しない。

が、希望する動作状態の説明ということなのでしょうか?以下その前提で回答します。

ApacheなどのHTTPサーバープログラムの機能で、BASIC認証をしている場合も、PHPプログラムで独自にWWW-Authenticateヘッダと401レスポンスを返している場合も、ブラウザ側では、一度BASIC認証ダイアログで入力したiDとパスワードは、(意図的にクリアしないと)ブラウザを終了させるまで10時間でも保持しますし、ブラウザを一旦終了させて再度ブラウザを起動してアクセスすると10秒後であっても再度BASIC認証ダイアログが出ます。
ダイアログが出るかどうかは、前回からの時間の長さは関係なくて、ブラウザを終了させたかどうかだけが影響します。

この仕様で良いのかどうか?
駄目なら、具体的にどうしたいのか?

ブラウザがずっと起動しっぱなしの場合でも、半年経ったなど、ある条件になったら、再度BASIC認証ダイアログを出したいと言うことなら、正しい認証情報が送られても、WWW-Authenticateヘッダと401レスポンスを返せば、再度BASIC認証ダイアログが出ることになるかと思います。やったこと無いですが、多分OK。

逆に、一旦ブラウザを終了&再起動した場合でも、ある条件を満たせば、BASIC認証ダイアログを出さずにアクセスさせることが出来るかというと、この場合は、認証情報がサーバーに来ないので、その人が誰か判別できず、無理ですね。

あなたが「前回からの期間の長さによってダイアログが出るか出ないか異なっていた」と思っているのは、実は期間の長さでなくブラウザが起動したままかどうかの違いだったという記憶違いでは無いでしょうか。

追記:

この場合は、認証情報がサーバーに来ないので、その人が誰か判別できず、無理ですね。

Cookieを使えば可能と言えば可能ですが、そこまでするならBASIC認証でなく普通にログインする仕組みにするだろうから、その選択をする人はいないでしょうね。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#6

ikedas

総合スコア4443

投稿2024/02/12 08:06

編集2024/02/12 08:06

ベーシック認証をかける意図は、
会員様以外の人のログインを阻止するためです。

つまり登録してもらった会員様はスムーズにログイン、登録していない非会員はベーシック認証、なるべくこのようにしたいのです。

たぶん、ここで「ベーシック認証が発動する」と言っているのはHTTP認証の特定の方式 (HTTP Basic Authentication) を利用することを指しているのではなく、単に「認証ダイアログとして利用できるなんらかのユーザインタフェイスが表示されること」を指しているのだと思います。
そう考えないと、この文章は理解できません。

問いへの答えですが、そのようなことをするためにはウェブアプリケーションがそのような動作をするようにするなどある程度の開発が必要であり、ウェブサーバソフトウェアをちょっと設定するだけでできるものではありません。「以前のプログラマーの方」と同等以上の知識を持ったかたに開発を依頼してください。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問