次のテーブルがあるとしましょう:
1。comments
:c_id
、、
2 。:a_id
、、body
articles
a_id
title
body
コメントシステムがあります(SOに似ています)。しかし、当然のことながら、投稿された記事のIDを提供する必要があり、それを行うには多くの方法があります。
そこで、次のように、記事のIDを使用して非表示の入力を作成するという単純な方法を使用しました。
<input type="hidden" name="article_id" value="1" />
次に、サーバー側にPOSTします。MySQLを使用してテーブルに挿入されます。しかし、悪いユーザーが非表示の入力のデータを変更することは可能ではありませんか?
たとえば、彼が非表示の入力を変更して無効なIDを入力した場合、または存在しない記事や私が本当に必要としないものを入力した場合です。それは私が考慮すべきことですか?発生するのは無効なコメントだけなので、それ以上はありません。私はintval
すべての整数入力を取得しているので、どのタイプのSQLインジェクションも恐れていません。
結論:無効なコメントを本当に気にし、記事が最初に存在するかどうかを確認する追加のクエリを発行する必要があります。これにより、無効な無害なコメントが挿入されないようにするために、より多くのリソースが必要になります。