0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHPでPOSTデータを取り扱う際の処理の流れと参考記事

Last updated at Posted at 2018-08-26

1.本文

1-1.Postデータは$_POSTで受け取る

特に説明は必要ないと思いますが、phpでpost内容を取得したい場合、$_POSTという特殊な変数を介して取り扱います。

1-2.Postの内容は「信用しない」(バリデーションを行う)

postの内容は、クライアントから送信されてきたデータです。このため、基本的に「信用できないデータ」が送信されてくることを前提として、内容のチェックを行うのが正しい作法です。

内容のチェックを行う処理を、バリデーションと呼びます。バリデーションを通過したデータは、「信用できるデータ」として扱います。

つまり、どのような処理を行うにしても、以下のフローチャートような流れに沿って、プログラムを実装するべきです。
フローチャート.png

1-3.バリデーションについて

多岐に渡るため、別途まとめます。

1-4.出力時のエスケープ

アプリケーションの実行結果としてPOSTデータを出力する場合、必ず適切エスケープ処理を行ってください。(適切なエスケープを行わない場合、アプリケーションに脆弱性が生じる可能性があります。)

2.参考記事

2-1.HTTPリクエストに関連する参考記事

下記の記事では、リクエストをJAVA(サーブレット)に処理させる場合の一連の流れが非常にわかりやすく説明されています。
https://qiita.com/shuntaro_tamura/items/ae55b99deb9e2a170754

HTTPリクエスト、HTTPレスポンスの具体的内容については、下記を参照してください。
https://qiita.com/gunso/items/94c1ce1e53c282bc8d2f

2-2.関連するPHPのドキュメント

POSTデータを取り扱う前に、以下のPHPドキュメントに目を通しましょう。

$_POST
http://php.net/manual/ja/reserved.variables.post.php

外部から来る変数
http://php.net/manual/ja/language.variables.external.php

データのフィルタリング
http://php.net/manual/ja/book.filter.php

2-3.PHPでPOST、GETを取り扱う場合の参考記事

$_GET、$_POSTなどを受け取る際の処理
https://qiita.com/mpyw/items/2f9955db1c02eeef43ea

【PHP超入門】HTTP(GET・POST)について
https://qiita.com/7968/items/4bf4d6f28284146c288f

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?