开发者社区> 问答> 正文

墙过滤器sql注入冲突

sql injection violation, part alway true condition not allow : SELECT COUNT(1) FROM sys_role WHERE deleted = 0 AND 1 = 1

原提问者GitHub用户ghost

展开
收起
山海行 2023-07-05 19:49:11 69 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    墙过滤器通常用于保护应用程序免受SQL注入攻击。如果您的SQL查询包含敏感字符或关键字,那么墙过滤器可能会拦截您的查询请求,从而导致冲突或错误。

    以下是一些可能有用的建议:

    编写安全的SQL查询:请确保您的SQL查询是安全的,并且没有包含任何敏感字符或关键字。例如,您可以使用参数化查询,以避免将用户输入直接传递给SQL查询。或者,您可以对用户输入进行验证和过滤,以确保输入数据符合预期。

    检查过滤器规则:请检查墙过滤器的规则,确保它们没有将您的查询请求拦截。您可以联系您的系统管理员或网络管理员,以了解如何调整过滤器规则。

    使用代理:如果您无法调整过滤器规则,则可以考虑使用代理。您可以将您的SQL查询发送到代理服务器,然后代理服务器将查询请求发送到数据库服务器。这样,您就可以避免直接与墙过滤器通信,从而避免冲突或错误。

    2023-07-30 15:09:26
    赞同 展开评论 打赏
  • conditionAndAlwayTrueAllow

    false

    检查查询条件(WHERE/HAVING子句)中是否包含AND永真条件

    原回答者GitHub用户Guzi219

    2023-07-06 11:06:41
    赞同 展开评论 打赏
问答分类:
SQL
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载