はじめまして。よろしくお願いしますm(_ _)m
ベーシック認証でmysqlと連動した認証を行いたいのですが、方法がわかりません。
調べてみると、モジュール?をインストールするとmysqlなどのデータベースと連動したものが使えるらしいのですが、レンタルサーバー等でもそれは可能なのでしょうか?(一応phpとmysqlが使えるサーバーです)
やりたいのはフリーの掲示板cgiに認証を掛けて登録ユーザーしか観覧、書き込みができないようにしたいです。その際、ユーザーIDやパスワードは個別に設定したいのですが、ベーシック認証でこれは可能でしょうか?
あまりプログラムの知識がないので、漠然としたイメージしか伝えられませんが、何かアドバイスありましたらお助け下さいm(_ _)m
No.2ベストアンサー
- 回答日時:
PHPであれば、環境変数とHTTPヘッダーで実現可能です。
if (!$_SERVER['PHP_AUTH_USER'] && !$_SERVER['PHP_AUTH_PW'] ) {
header("HTTP/1.0 401 Authorized Request");
header("WWW-authenticate: basic realm=\"Login Ninsho\"");
print "Cannot Authrization";
exit;
} else {
// ここにMySQLのマッチ処理
// $_SERVER['PHP_AUTH_USER']がID、$_SERVER['PHP_AUTH_PW']がパスワード
// IDが無かったり、ID・パスが一致しないときは、下記ヘッダを出します。
header("HTTP/1.0 401 Unauthorized");
header("WWW-authenticate: basic realm=\"Login Ninsho\"");
print "Cannot Authrization";
exit;
}
HTTPのBASIC認証ですので3回までトライ可能。登録ユーザしか見れないプログラム全ての先頭部分に、上記ロジックを入れることを忘れずに。お気に入りされるとダイレクトに見られちゃいますよ。
この回答への補足
ご回答ありがとうございますm(_ _)m
ご提示してくださったスクリプトを試してみましたら、ベーシック認証の画面までは表示することができました。
ただこの場合ですとご説明くださっているように、スクリプトを書いたページのみが認証対象になる為、掲示板プログラムのcgiに直接アクセスされると、認証がパスされてしまいます。
やはりhtaccessでフォルダ単位でアクセス制限をかけるしかないでしょうか?
でもhtaccessのベーシック認証でデータベースと連動しようとすると何やらアパッチのモジュール(mod_auth_mysql?)が必要なようですし、共用のレンタルサーバーである為モジュールのインストールもできそうにありません。
データベースによる認証は諦めて、htpasswdで会員を管理するしか方法はないでしょうか?
何か他に案がありましたらお力添えお願いしますm(_ _)m
No.3
- 回答日時:
Perl-CGIを利用したBasic認証について参考になるURLをお知らせしておきます。
これならご要望にお応えできるかもしれません。私はPerlはあまりさわらないのですが、これは.htaccessと.htpasswd を直接書き換えて出来るようです。
参考URL:http://www.kent-web.com/pwd/pwmgr.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- UNIX・Linux Ubuntu on Xorgのログインについて 2 2023/08/10 15:16
- その他(コンピューター・テクノロジー) 下に書いたの条件でgoogleアカウントの復旧方法等を教えてください。 1 2023/02/06 23:32
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- サーバー Webサイト構築フリーランスの案件受注について 1 2022/03/27 18:16
- その他(メールソフト・メールサービス) Thunderbirdのメール送信ができません 1 2022/10/28 16:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
こちらはただの直列処理ですか?
-
PHPでこのコード自体に意味は無...
-
php 入力画面から確認表示画面...
-
PHP8を使うと、大量のWarningが...
-
アップロード画像数でCSSを分け...
-
PHPSpreadsheetを使って関数を...
-
phpでcookieがうまく保存されない
-
ワードプレスサイト PHP8.0.25...
-
入力フォームの空白や改行を制...
-
PHP一覧表示した項目にリンクを...
-
オススメのプログラミングスク...
-
PHPでのパスワード制限のセキュ...
-
htmlのエラーについて(デバッグ)
-
アマゾンのような評価の星を選...
-
SFTPなどは使わないホームペー...
-
ファイルアップロードに関して...
-
Q&Aサイトを作成していてURLの...
-
画像が表示出来ません。
-
phpでPEAR::DBを使っているので...
-
php 確認表示画面で値をSESSION...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのWARNINGをcatchするには
-
お名前comのPHPとmysqlの接...
-
localhostにリダイレクトされて...
-
エックスサーバーでのmysql設定...
-
lolipopでのmysql接続について
-
XOOPSインストール中に真っ白画...
-
データベースと連動したベーシ...
-
レンタルサーバでPHPからMySQL...
-
hpinfoにmysqlやmysqliが表示さ...
-
データベースに接続できない・...
-
XserverでpearのDBでMySQLに接続
-
My SQL の文字化け
-
ページ表示について
-
MySQLから送られて来たデータの...
-
XOOPSのサーバアクセス設定につ...
-
勉強の甲斐あっていよいよPHPフ...
-
pwebmanagerにアクセスするとFa...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
index.phpに入るには、どうすれ...
おすすめ情報