插入“;1==1”;(1等于1)
本文关键字:等于 插入 | 更新日期: 2023-09-27 18:24:13
有时在JavaScript或C#代码中,我会看到一个"1==1"条件语句。
C#示例:
if (!IsPostBack || 1==1)
我知道在Sql语句中,当动态构建查询或创建Sql注入攻击时,可以使用1=1,但我不理解在C#或JavaScript中总是计算为true的测试的实际用法。
没有值。这使得条件始终为true,因此您可以简单地删除if
。
我想它是在调试问题时添加的,目的是强制执行这个特定的分支,但它只是忘记了删除它。我会称之为bug。
以下内容的开发人员测试:
- 无论"Real"参数值如何,都会执行函数/方法/sub/etc
- 了解您的参数将如何受到False || True情况的影响
我看到的唯一真正实用的用途是:
- 测试
- SQL注入,正如您所说
1==1
条件的if
是对if
语句的误用。尽管在语法上是合理的,但即使存在,它也会删除if
的值。
正如Daniel所说,它可能是在调试代码的特定部分时使用的。如果它留在生产代码中,那么它很可能是一个错误,否则它就是对if
语句的完全滥用。
if ( !IsPostBack || 1==1)
{
// Do Something
}
相当于
//Do Something