セッション&クッキーpc操作中

目次

cookie
無効化
ログイン、
ログアウト
プログラム
のとこへ

セッション

サーバーに一時的にWebでの「ログイン情報」や「最終アクセス」など、ユーザーデータを保存する仕組み

複数のページ間で変数を共有する。
セッションID サーバーがランダムに作成する文字列

Cookieはブラウザ側に保存されるため、データ改ざんの可能性もありセッションの方がセキュリティ的に安全。

クッキー

クッキーとは、Webサーバーからブラウザに送信したデータを保存する機能。

Cookieはブラウザ側、セッションはサーバー側と、それぞれデータの保存場所が異なる

cookieの機能

訪問者がそのページに何回訪れたか記録して表示する。

入力したユーザー名などを記録しておき、次回訪問時にユーザー名などの入力を省略することができる。
また、オンラインショップで購入した履歴などを保存することができます

サーバーから送られてきたCookieを保持したり、サーバー側にCookieを送る機能は、 ブラウザがCookieに対応していなければ何度アクセスしても初回の訪問とみなされます。
サイト毎に情報を保存したもので、サイト訪問者のパソコンにテキストデータとして保存されます。

ファーストパーティ ユーザが直接閲覧しているサイトのこと。

サードパーティ ユーザが閲覧しているサイト内にある別のサイトのこと。 バナー広告など。

外部リンク参考サイトさんクッキーの仕組み

cookieを無効

Cookieを無効にすると利便性は下がりますが、安全にWebサイトを利用できることもあります。

cookieを無効にするとログイン等ができなくなることもあります。

ユーザーによってはブラウザのCookieをOFFにしている場合があるので、Cookieは保存されないこともあります。

Chrome 右上の3つの点をクリック→ [設定]
→左上三本線 [詳細設定] → [プライバシーとセキュリティ]
→ [コンテンツの設定]→ [Cookie]
→ [サイトに Cookie データの保存と読み取りを許可する] をオフにする。
Firefoxでのcookie無効化 右上三本線 をクリック→[オプション]
→ 左側「プライバシーとセキュリティ」→「Cookie とサイトデータ」
Android版Firefoxのcookie無効化 「ブラウザ右上3つの点」→[設定]
→ 「プライバシー」→「Cookie」→
iOS(アイフォン) 「設定」→「safari」
→「すべてのCookieをブロック」をON

cookieの有効期限

クッキーには有効期限があり、これを過ぎるとデータを受信できても有効にはなりません。

再びアクセスしてもクッキーが存在しないのと同じになります。
ユーザがログアウト操作をしていなくても,自動的にログアウトになります。

cookieの有効期限は通常ブラウザを終了するまで。

ブラウザを終了しても、ブラウザを再度起動したときまで有効であるように有効期限を設定できます。
ブラウザ側のクッキー情報を削除するには、有効期限に過去の時刻を指定する。

トラッキング

ユーザーのサイト閲覧情報を収集。検索エンジンなど

トラッキングクッキー

キャッシュ

よく使うデータへのアクセス,表示を速くするために一時的に保存する機能。

ブラウザやサーバーのキャッシュ機能では、 一度表示したwebページをファイルに保存することで次から、すばやく表示できる。
CacheViewer firefoxアドオン
キャッシュを一覧表示して検索や並び替えができます。 キャッシュされたHTML文書の全文検索が可能です。

プログラムの書き方

PHPを使用します。

セッションの書き方

セッション機能を開始するためには、session_start関数が必要。
session_start関数によるセッションの開始というのは、サーバ上に保存してあるデータを呼び出すこと

「$_SESSION」というスーパーグローバル変数に入力データを収納します。 session_destroy();によりログアウト

外部リンク参考サイトさん セッション書き方

cookieの書き方

ブラウザが送信したクッキーは、$_COOKIEというスーパーグローバル関数で取得することができます。

setcookie という関数を使い、(   )内にそのクッキーの名前・データ・有効期限を入れて書く

setcookie('名前','データ',有効期限);

クッキー有効期限設定   time( )+と表記 HTMLタグよりも前の位置に記載する
外部リンク参考サイトさん ・クッキーについて ・クッキー書き方

ログイン、ログアウトプログラム

ファイルが3枚くらい必要
セッション
session_start( )関数により、セッション機能を開始。

セッションでの情報は、$_SESSION配列に格納。

外部リンク参考サイトさん ・セッションを使ったログイン、ログアウト ・簡易ログイン

ログイン画面(HTML)

・初めてのアクセスに対してログイン画面を表示 (HTMLのPASSWORDformタグを使い、ID、PW入力欄と送信ボタンをそれぞれ作成。)

・HTML formタグのmethod属性をPOSTにしてID,PWを送信。

ログイン認証画面(PHP)

・初めにsession_start();にて開始
アカウント情報を受け取って認証するスクリプト ID、PWなど入力データをPHPのスーパーグローバル変数$_POSTで受け取る

そして、$_POSTから$_SESSIONに格納してから
IF構文、 &&(両方がTRUE)、!=(等しくない)、||(どちらかがTRUE)等の演算子で、 ID,PWの正誤認証し、

正しければ、print " "でログインメッセージを出力しログイン内容表示。
間違っていればエラーメッセージ表示。

・if (演算子での$_SESSIONに格納されたID,PWの正誤判定)
{ ログインメッセージの表示、または、エラーメッセージの表示}

・if (演算子での$_SESSIONに格納されたID,PWの正誤判定)
{ ID,PWが正しい時、ログインメッセージとログイン内容の表示 }
else {ID,PWが間違っているとき時、エラーメッセージの表示 }

エラーメッセージの出力 ID、PWが違っていた場合、print " "でエラーメッセージを出力し
exit();を使い、HTMLを含めたログイン内容ページの出力を停止する

・phpファイルの中で、phpコードの下にHTMLにてログイン内容作成。
・HTMLフォームからログアウト画面(PHPファイル)へ

ログアウト画面(PHP)

まず、session_start( )関数によりセッション機能を開始

session_destroy(  ); にてセッション情報を削除し print " ";でログアウトを出力

HTMLフォームから、ログイン画面(HTMLファイル)に戻るを作成。 上へボタン

楽しくpc