SELECT * FROM table1 where condition1=1 ORDER BY $sortField$ $sortOrder$ limit 0,20
$sortField$和$sortOrder$可以写任意sql
$sortField$
$sortOrder$
这条sql有被注入的风险吗
业精于勤,荒于嬉;行成于思,毁于随。
変数を直接使用して SQL ステートメントを生成する限り、インジェクションされるリスクがあります
sortField="id"sortOrder="; テーブル ユーザーを削除; --"
SQL は
あなたは問題を間違った方向に考えています。
注入を防ぐ正しい方法は、公式ドライバーのパラメーター モードを使用することです。注入を回避する方法を知っているのは公式バージョンだけであるためです。
SQL を自分で作成する場合、たとえ今は挿入されていなくても、将来このリンクに含まれるコンポーネントの 1 つが変更された場合、挿入されるリスクが生じる可能性があります。
sqlmap を使用して直接テストできます。そのエンジンは依然として非常に強力です
変数を直接使用して SQL ステートメントを生成する限り、インジェクションされるリスクがあります
リーリーsortField="id"
sortOrder="; テーブル ユーザーを削除; --"
SQL は
になります。 リーリーあなたは問題を間違った方向に考えています。
注入を防ぐ正しい方法は、公式ドライバーのパラメーター モードを使用することです。注入を回避する方法を知っているのは公式バージョンだけであるためです。
SQL を自分で作成する場合、たとえ今は挿入されていなくても、将来このリンクに含まれるコンポーネントの 1 つが変更された場合、挿入されるリスクが生じる可能性があります。
sqlmap を使用して直接テストできます。そのエンジンは依然として非常に強力です