Cookieはユーザーを識別するためによく使用されます。
クッキーとは何ですか?
Cookieはサーバーによって生成され、ユーザーエージェント(通常はブラウザ)に送信されます。ブラウザはCookieのキー/値を特定のディレクトリ内のテキストファイルに保存し、次回同じWebサイトがリクエストされたときに送信します。この Cookie はサーバーに提供されます (ブラウザが Cookie を有効にするように設定されている場合)。 Cookie の名前と値はサーバー側の開発者が定義できるため、サーバーはユーザーが正規のユーザーであるかどうか、再度ログインする必要があるかどうかなどを知ることができます。サーバーは、Cookie に含まれる情報を設定または読み取ることができます。サーバーとのユーザーのセッションのステータスを維持するための Cookie。
注意事項:
1. 異なるコンピューターでは Cookie を共有できません
2. 同じコンピューター上の異なるブラウザーでは Cookie を共有できません
4. 同じブラウザーであっても、同じドメイン名では、異なるパスの Cookie を共有することはできません。Cookie を作成するにはどうすればよいですか?
setcookie() 関数を通じて Cookie を作成し、成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。注: setcookie() 関数は <html> タグの前に配置する必要があります。
構文setcookie(名前, 値, 有効期限, パス, ドメイン);
パラメータの説明:パラメータ
説明
name Cookie 名
value オプションクッキーの値 expire オプション、有効期限、タイムスタンプ形式
例 1 次の例では、「user」という名前の Cookie を作成し、値「php」を割り当てます。また、この Cookie は 1 時間後に期限切れになることも規定しています:
<?php setcookie("user", "php", time()+3600); ?>
& LT; 自動デコードを実行します。
例 2
別の方法で Cookie の有効期限を設定することもできます。これは秒を使用するよりも簡単な場合があります。 <?php
$expire=time()+60*60*24*30;
setcookie("user", "php", $expire);
?>
。
PHP の $_COOKIE 変数は、Cookie の値を取得するために使用されます。
次の例では、「user」という名前の Cookie の値を取得し、ページに表示します。下記の例では、 isset() 関数を使用して次のことを行います。 Cookie が設定されているかどうかを確認します:
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php if (isset($_COOKIE["user"])) echo "欢迎 " . $_COOKIE["user"] . "!<br>"; else echo "普通访客!<br>"; ?> </body> </html>
<?php // 设置 cookie 过期时间为过去 1 小时 setcookie("user", "", time()-3600); ?>
Cookie は現在のページ セットでは有効になりません。設定された Cookie にアクセスするには、有効期限が切れる前に別のページにアクセスする必要があります。
Cookie 情報はユーザーのコンピュータに保存されるため、Cookie が偽造され、Cookie のなりすましが発生する可能性があります。スプーフィングを防ぐために値を暗号化できます。 Cookie を読み取るときは、Cookie を復号化するだけです ブラウザが Cookie をサポートしていない場合はどうすればよいですか?
アプリケーションが Cookie をサポートしていないブラウザに対応する必要がある場合は、アプリケーション内のページ間で情報を渡すために他の方法を使用する必要があります。 1 つの方法は、フォームを介してデータを渡すことです (フォームとユーザー入力については、このチュートリアルの前の章で説明しています)。
ユーザーが「送信」ボタンをクリックすると、次のフォームはユーザー入力を「welcome.php」に送信します:
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <form action="welcome.php" method="post"> 名字: <input type="text" name="name"> 年龄: <input type="text" name="age"> <input type="submit"> </form> </body> </html>
次のように「welcome.php」ファイルの値を取得します:
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> 欢迎 <?php echo $_POST["name"]; ?>.<br> 你 <?php echo $_POST["age"]; ?> 岁了。 </body> </html>Cookie制限の問題
多くのブラウザには Cookie の数に制限があります。ほとんどのブラウザでは、Web サイトに設定できる Cookie の数は 50 を超えてはいけないと規定されており、一部のブラウザでは Cookie の数が 30 に制限されています。一般に 4K サイズを超えることはできません。
Cookie のセキュリティの問題インターネット カフェでインターネットを閲覧した後、コンピューターをシャットダウンしないと、コンピューターを使用した後にアクセスしたすべての Web サイトの履歴を他の人が見ることができます。 Webサイトが保存するCookieの内容ですが、重要なデータ(ユーザー名、パスワード、カード番号、携帯電話番号、ID番号など)がCookieに保存されている場合は大変危険です。
そのため、重要なデータをCookieに保存することはできず、保存する必要がある場合でもサーバーに依存する必要があります