リスを倒す 『初めてのPHP,MySQL,JavaScript&CSS』

『初めてのPHP,MySQL,JavaScript&CSS』勉強奮闘記

11-1.PHPとMYSQLで作る会員管理システム①会員のみに画面を表示する

11章来ました…
リスともう1個参考にしている本をがっちゃんこにして進めていて
リスだと、もうそろそろjavascriptいっちゃう?という雰囲気になっていますが、
ここは寄り道をして、「PHPMYSQLで作る会員管理システム」を作っていきたいと思います。

1-1. 閲覧を制限する


インターネット上にwebサイトを公開するということは、だれでも見せたくない人も閲覧できてしまいます。
今まで作ってきたプログラム一式をレンタルサーバーに設置すると誰でも内容を見れてしまいます。

例えば、web上で2人だけの交換日記をしたいときに、特定の人以外の閲覧を制限するということができます。
あとは、会員専用のページを作る(表題のまんまですが)ことも、よく使われているSNSなどのサービスとして作れてしまうということですね。。。すげえ。そこまできたかついに。


webサイトの認証は通常、ユーザーIDとパスワードを使って本人が正規の利用者であるかどうかを確認します。
以下のフローを辿らせるようにすれば、特定のユーザーだけ閲覧することが可能です。

◎フロー
ユーザー

認証

本人確認

認可

コンテンツにアクセス

1-2. 制限の方法


2つ紹介します。

Apache(webサーバー)の機能を使って制限
IPアドレスを元にアクセスを許可・制限する方法と、HTTPに用意されたBasic認証とDigest認証による方法があります。
まず、IPアドレス(PCやタブレットスマホを判別するための番号)を元に制限・許可を行う場合は、ディレクトリ内をがっちり守りたい時に有効です。

Basic認証とDigest認証による方法は、あらかじめ設定したユーザーIDとパスワードにより本人を特定します。この場合、一度許可すると、そのディレクトリにあるファイルやサブディレクトリ内のファイルすべてを閲覧できてしまいます。


PHPの機能を使って制限
PHPMySQLデータベースを利用した認証機能は、認証情報をすべてデータベースに保存しています。
ユーザーがアクセスを制限したページを閲覧しようとすると、PHPのセッション機能を使って認証済みか確認します。
認証されていないユーザーと分かった時点でユーザーはログイン画面に遷移します。


11章では、上記2つの認証機能を勉強します。
またも難しい…がんばるぞーーー
他にもいろいろがんばるぞーーー

いじょー