预防SQL注入攻击主要依靠以下几种方法:1.采用参数化查询(预编译语句),这是防范SQL注入的最有效手段之一。通过使用预编译语句(如在Java中使用PreparedStatement),可以确保将用户输入视为参数处理,而非SQL语句的一部分。2.验证和清理用户输入,确保其符合预期格式。例如,若期待输入为整数,则验证确保其为整数;对于字符串,移除或转义可能引发SQL注入的特殊字符。3.应用ORM框架;4.限制数据库权限;5.采用存储过程;6.合理使用Web应用防火墙;7.避免提供详细错误信息。