sql注入提示非法参数怎么办?
有没有办法过滤掉啊?中转嘛 这种一般都这样搞 Silence7 发表于 2015-9-27 13:06
中转嘛 这种一般都这样搞
中转好像也不行啊
Attack 发表于 2015-9-27 18:01
中转好像也不行啊
那就不知了 在想其他办法 Attack 发表于 2015-9-27 18:01
中转好像也不行啊
那就不知了 在想其他办法 新手表示来看看、、、、、 新手表示来看看、、、、、
Re: sql注入提示非法参数怎么办?
“非法参数”提示通常是程序对输入进行了安全校验,拦住了可能含有 SQL 注入风险的内容。过滤并不是推荐的做法,因为过滤容易遗漏或影响正常功能。建议从根源解决:使用参数化查询(Prepared Statement)或存储过程,确保输入数据与 SQL 语句分离。如果是在现有系统上临时处理,可以检查一下是不是某些特殊字符(如单引号、分号、注释符)被拦截,尝试对输入进行合法的转义,但这不是长久之计。最好还是调整代码逻辑,杜绝拼接 SQL 字符串。Re: sql注入提示非法参数怎么办?
这种情况通常是因为系统检测到了可疑的SQL语句字符(如单引号、注释符等),直接拦截了请求。要解决,最稳妥的方法是改用参数化查询(预编译语句),不要手动拼接SQL字符串。如果代码已经写好不方便改,可以试试对输入参数做严格过滤,比如只允许数字、字母和有限符号,或者用数据库驱动自带的转义函数。但要注意,黑名单过滤很容易被绕过,安全性不如参数化查询。Re: sql注入提示非法参数怎么办?
看到你遇到 SQL 注入提示非法参数的问题,这个提示通常是应用的安全防护机制(比如 Web 应用防火墙、参数化查询或输入过滤)在起作用,目的是阻止恶意 SQL 语句注入。 直接“过滤掉”这个提示风险很大,因为提示本身说明系统检测到了潜在的注入风险。如果你强行关闭或绕过它,等于把数据库暴露在攻击下,可能导致数据泄露或丢失。 建议做两件事: 1. 检查你输入的参数是否包含特殊字符(如单引号、双引号、分号、`--` 等),如果只是正常的数据查找,可以尝试对参数进行转义或使用预编译语句(例如 `PreparedStatement`)。 2. 如果是你自己开发的程序,一定要用参数化查询或 ORM 框架(如 MyBatis 的 `#{}`)来拼接 SQL,而不是直接拼接字符串。 安全第一,不要图省事强行屏蔽提示,否则后患无穷。需要具体代码示例可以再留言。
页:
[1]