Help us understand the problem. What is going on with this article?

【PHP/MVC】POSTされた検索条件をもとに、DBからデータを取得して、表示するまでのフロー

More than 3 years have passed since last update.

はじめに

不適当なところがあったらご指摘いただけると嬉しいです。
無害化は、サニタイズとかエスケープとかフィルタリングとかだと思ってください。
妥当性検証は、バリデーションとかだと思ってください。POSTはGETなどと読み替えても良いはずです。
前後のアクションは、1つのアクションとしてまとめて行うことも考えられると思います。

フロー図

mvc05.png

それぞれのアクションの整理

・HTMLがPHPに値をPOSTすることについて
・JavaScriptがPOSTされる値を無害化することについて
・JavaScriptがPOSTされる値を妥当性検証することについて
・PHPがPOSTされた値を受け取ることについて
・PHPがPOSTされた値の無害化をすることについて
・PHPがPOSTされた値の妥当性検証をすることについて
・PHPがSQLを生成することについて
・SQLがSQLを生成することについて
・SQLを実行することについて
・PHPがDBから実行結果を取得することについて
・PHPがDBから取得した実行結果を整形することについて
・PHPがHTMLに送る値の無害化をすることについて
・PHPがHTMLに送る値をセットすることについて
・HTMLがPHPから受け取った値を表示することについて

※『無害化』するタイミングが3回あることになるけれど、
それぞれのタイミングにおいて、どの攻撃に備えてどの対策をすれば最も良いのだろう?

rhap
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした