安全编程:防止SQL注入的Java代码实例

原创 蔚落 2024-12-04 17:57 108阅读 0赞

在Java中,防止SQL注入的一种常见方法是使用PreparedStatement。预编译语句是在执行前被解析并编译的语言结构。

以下是一个简单的Java代码例子:

  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.PreparedStatement;
  4. public class SQLInjectionPrevention {
  5. public static void main(String[] args) {
  6. // 数据库连接
  7. String url = "jdbc:mysql://localhost:3306/mydatabase";
  8. String username = "myusername";
  9. String password = "mypassword";
  10. try (Connection connection = DriverManager.getConnection(url, username, password)) {
  11. // 预编译语句,防止SQL注入
  12. String query = "SELECT * FROM users WHERE username = ?";
  13. PreparedStatement statement = connection.prepareStatement(query);
  14. statement.setString(1, username)); // 设置参数
  15. ResultSet resultSet = statement.executeQuery();
  16. if (resultSet.next()) {
  17. System.out.println("User found with username: " + resultSet.getString("username"));
  18. } else {
  19. System.out.println("No user found with the given username.");
  20. }
  21. } catch (Exception e) {
  22. e.printStackTrace();
  23. System.out.println("Failed to connect to database or execute query.");
  24. }
  25. }
  26. }

在这个例子中,我们使用了PreparedStatement来防止SQL注入。这种方式可以确保用户输入的数据不会被解析为SQL代码。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,108人围观)

还没有评论,来说两句吧...

相关阅读