- 締切済み
HTMLでPHPを動かすには?
さまざまなサイトでよく、ログイン画面(ID/PW)を入力する画面がありますが、私の担当しているサイトはログイン認証はJavaScriptで行っています。 最近になって、ログイン認証をJSではなく、サーバー側(PHP)で認証チェックをかけようという話になりました。 しかし、PHPをいじるのは膨大な作業になってしまうため、HTML(画面) でPHPのログイン認証処理を行いたいと考えています。 いろいろなサイトをみていて http://digit-01.com/ownpage/php_exct_html.html のようにできないかな?と思いました。 (1)Apacheの設定を追加 →AddType application/x-httpd-php .htmlを追加 (2)htmlファイルを用意 →.htmlですが、中身はPHP(ログイン認証チェック処理) (3)HTML(画面)で、(2)のファイルをインクルードさせる 上記の方法ではたして、うまくPHPが実行されるのか心配です。。。 アドバイス頂けないでしょうか?よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Tasuke22
- ベストアンサー率33% (1799/5383)
拡張子がphpでもhtmlでもphpの実行に変わりが ありません。素直に拡張子をphpにした方がシン プルでしょう。参考URLを読むと、htmlにこだわ りがあるというだけの話です。 phpべーシック認証は既に確立された技術です。 図書館とか行って本をあさる方が早いと思います。 参考までに基本関数をアップします。 ------以下、私の技術メモから抜粋----- PHP Script Basic認証 HTTP Basic認証と違って、Apacheのhttpd.confをメインテナンスしなくていいし、フォルダ単位ではなくてファイル単位でも認証できる。また、複数のユーザIDにも対応できるので、会員登録制の動的なBasic認証ではPHPを用いる。 function userauth(){ $conn = pg_connect("dbname=sampledb"); if(!isset($_SERVER(["PHP_AUTH_USER"])){ header("WWW-authenticate: basic realm=\"members-only\""); header("HTTP/1.0 401 Unauthorized"); return false; } else{ $sql = sprintf("select password from users whear user_id='%s';", $_SERVER[PHP_AUTH_USER"]); $res = pg_query("$conn, $sql); if(!$res || pg_num_rows($res) < 1){ header("WWW-authenticate: basic realm=\"members-only\""); header("HTTP/1.0 401 Unauthorized"); return false; } return true; } }
お礼
Tasuke22さん、回答ありがとうございます。 認証についても参考を頂きありがとうございます。