我尝试根据存储在数据库中的无效哈希来验证密码。在这种情况下,我的应用程序会因false
异常而死亡,而不是Invalid hash
(如我所料)。
是否有任何Yii2内置的方法来验证哈希值,然后再将其提供给validatePassword
,以便更温和地处理这种情况?
或者我唯一的方法是复制validatePassword
使用的代码:
if (!preg_match('/^\$2[axy]\$(\d\d)\$[\.\/0-9A-Za-z]{22}/', $hash, $matches) || $matches[1] < 4 || $matches[1] > 30) {
throw new InvalidParamException('Hash is invalid.');
}
到我自己的代码,当哈希无效时,根本不调用validatePassword
?
答案 0 :(得分:1)
您始终可以在密码验证中使用public static void updateTextTabHost(TabHost tabHost)
{
TextView textview0 = (TextView)tabHost.getTabWidget()
.getChildAt(0).findViewById(android.R.id.title);
TextView textview1 = (TextView) tabHost.getTabWidget()
.getChildAt(1).findViewById(android.R.id.title);
TextView textview2 = (TextView) tabHost.getTabWidget()
.getChildAt(2).findViewById(android.R.id.title);
textview0.setText("yourTest0");
textview1.setText("yourTest1");
textview2.setText("yourTest2");
}
- try
阻止:
catch
类似的东西,但为什么你甚至想要尝试验证哈希是否已经格式错误?也许有些罪犯会在那里传递不好的东西,可以通过你的登录等。