0

MySQL をバックエンドとして使用し、Spring をフレームとして使用しています。Spring はインジェクションをサポートしていないことを知っています。これは、データベースが安全であり、MySQL でインジェクションを処理する必要がないことを意味しますか?

4

1 に答える 1

0

SQL インジェクションは絶対に避けたいものです。データベースやフレームワークがサポートするものではありません。攻撃です。避けたいもの。そして、それはどのフレームワークによっても解決されません。

SQL インジェクション攻撃とは何か、いつ発生する可能性があるかを理解し、コーディングの優れたプラクティスを採用して回避する必要があります。常に準備済みステートメントを使用し、信頼できないソースからの値を追加して SQL クエリを動的に作成しないでください。

要するに、する代わりに

String sql = "select a, b from some_table where d = '" + valueEnteredByUser + "'";

以下をせよ:

String sql = "select a, b from some_table where d = ?"

次に、準備されたステートメントを作成valueEnteredByUserし、クエリ パラメーターにバインドします。

それはそれと同じくらい簡単です。

于 2013-05-11T19:14:31.763 に答える