これらのデータがデータベースの状態を変更しない場合、$_GET からのデータもサニタイズする必要があります。
データベースの状態を変更する例は INSERT であり、DELETE
の状態を変更しない例は SELECT です。
サニタイズしないことについて私が考える問題はこれです
内部コード
$word = $_GET['word'];
$query = "SELECT * FROM tbl_example WHERE name LIKE '%$word%'";
mysqli_query($query);
次に、検索するデータは
testword%';DROP TABLE tbl_example; --
したがって、 $query の最終値は
SELECT * FROM tbl_example WHERE name LIKE '%testword%';DROP TABLE tbl_example; -- %'
しかし、mysqli_query と mysql_query() は単一の SQL ステートメントしか実行できないため、これは機能しないと思います。
また、$_GET をサニタイズすると、データベース内に 'then you search' があり、検索は DB 内のものと一致しますか?
SQL インジェクションの例も教えてもらえますか?