在编写要求用户输入当前密码的应用程序部分时,我想知道执行以下操作是否危险(在函数中OnChangePassword()
:
if( strCurrPassword != inputPassword.GetInput() )
{
if( MessageBox( _T("Incorrect password entered, you must enter your current password"), _T("Incorrect Password"), MB_RETRYCANCEL | MB_ICONWARNING ) == IDRETRY )
OnChangePassword();
return;
}
这在通常情况下会很好,因为用户通常只需要几次尝试就可以记住他们的密码。但是,我担心这可能会被恶意用户滥用并导致调用堆栈溢出。
如果它可以用来导致堆栈溢出,我可以采取什么措施来防止它被滥用?