ErrCounter >= limit
强于ErrCounter == limit
。你没有风险就获得了收益。
这是安全的。问题是,在其中一个州(或甚至在过渡期)可能还有其他东西使ErrCounter
增加,或者ErrCounter
在启动过程时可能已经等于限制(顺便说一句,这应该导致拒绝,但从不介意) 。
让它成为生活的榜样。想象一下这两个场景(让我们说limit = 3
):
ErrCounter = 3
。持卡人决定在ATM上再试一次。 ATM读取ErrCounter
(作为Authentication
的一部分)并且由于CheckPin
失败(自动由于太早的尝试)现在ErrCounter
再次增加(所以ErrCounter = 4
)。在弱势情况下,您可以在无限循环中反复尝试。ErrCounter
作为Authentication
的一部分。所以我们(在括号中得到ErrCounter
):
伙伴1在ATM1上输入错误的PIN码(ErrCounter = 1
)
合作伙伴2在ATM2上输入错误的PIN码(ErrCounter = 2
)
伙伴1在ATM1(ErrCounter = 3
)上输入错误的PIN码。合作伙伴1的尝试(有电话)现在被拒绝了
伙伴2在ATM2(ErrCounter = 4
)上输入错误的PIN。如果没有>=
它会再次无限循环尝试。随着不公平的加剧,这个尝试也被拒绝了。