預編譯SQL語句是一種防止SQL注入攻擊的有效方法。下面是一些預編譯SQL語句的示例:
String sql = "SELECT * FROM users WHERE username = ?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, userInput);
ResultSet rs = stmt.executeQuery();
DELIMITER //
CREATE PROCEDURE getUser(username VARCHAR(255))
BEGIN
SELECT * FROM users WHERE username = username;
END //
DELIMITER ;
String hql = "FROM User WHERE username = :username";
Query query = session.createQuery(hql);
query.setParameter("username", userInput);
List<User> users = query.list();
總之,預編譯SQL語句是一種有效的防止SQL注入攻擊的方法,開發人員可以根據自己的需求和技術棧選擇合適的方法來保護應用程序的數據庫安全。