JavaでSQLインジェクションを防ぐにはどうすればよいですか?

藏色散人
リリース: 2020-10-12 17:33:11
オリジナル
12341 人が閲覧しました

SQL インジェクションは、最も一般的なネットワーク攻撃手法の 1 つです。攻撃を実行するためにオペレーティング システムのバグを使用するのではなく、プログラミング中のプログラマの過失をターゲットにします。SQL ステートメントを通じて、アカウントやアカウントなしでログインできます。データベースを改ざんすることさえあります。

JavaでSQLインジェクションを防ぐにはどうすればよいですか?

SQL インジェクションを防ぐための Java バックグラウンド メソッド:

1. プリコンパイルされたステートメント セットを使用します。 SQL インジェクションを処理するには、その setString メソッドを使用して値を渡すだけです:

String sql= "select * from users where username=? and password=?;
PreparedStatement preState = conn.prepareStatement(sql);
preState.setString(1, userName);
preState.setString(2, password);
ResultSet rs = preState.executeQuery();
ログイン後にコピー

2. 一重引用符 (')、セミコロン (;)、およびコメント記号 (--) を含むステートメントを正規表現で置き換えて、フォールトを防止します。 SQL インジェクション

public static String SQL(String str)
{
return str.replaceAll(".*([';]+|(--)+).*", " ");
}
userName=SQL(userName);
password=SQL(password);
String sql="select * from users where username='"+userName+"' and password='"+password+"' "
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery(sql);
ログイン後にコピー

関連する推奨事項:「Java チュートリアル

以上がJavaでSQLインジェクションを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!