Hiddenパラメータの特徴(p44~57)

Security

リクエストメッセージ

メソッド 送信先のURL プロトコルバージョン
POST http://xxx.com/31-003.php HTTP/1.1

User-Agent: Mozilla/5.0

リファラー(リンク元のURL)
Referer: http://xxx.com/31-002.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 72
Connection: keep-alive
Host: xxx.com

メッセージボディ
name=%E5%BVE%...(パーセントエンコーディングされた値)

レスポンスメッセージ

ステータスライン
HTTP/1.1 200 OK

ヘッダ
Server: nginx/1.10.3
Date: Sat, 14 Apr 2018 04:18:36 GMT

MIMEタイプ(リソースの種類)と文字エンコーディング指定
Content-Type: text/html; charset=UTF-8

ボディのバイト数
Content-Length: 20
Connection: keep-alive
X-UA-Compatible: IE=edge

ボディ

31-002.php

<form action="31-003.php" method="POST">
    <input type="text" name="name" />
    <input type="text" name="mail" />
    <input type="submit" value="確認" />
</form>

31-003.php

<?php
    $name = $_POST['name'];
    $mail = $_POST['mail'];
?>
<form action="31-004.php" method="POST">
    氏名:<?php echo htmlspecialchars($name, ENT_NOQUOTES, 'UTF-8'); ?>
    メール:<?php echo htmlspecialchars($mail, ENT_NOQUOTES, 'UTF-8'); ?>
    <input type="hidden" name="name" value="<?php echo htmlspecialchars($name, ENT_COMPAT, 'UTF-8'); ?>">
    <input type="hidden" name="mail" value="<?php echo htmlspecialchars($mail, ENT_COMPAT, 'UTF-8'); ?>">
</form>

・hiddenパラメータはHTMLソース上に記述されているので、利用者本人が書き換えることができます

・hiddenパラメータはストレージに情報を保存しないので、セッションと異なり、情報漏洩や第3者による書き換えは起こりません

BACK