为什么GetErrorMessage在用户名错误时返回“错误的密码”?

GetErrorMessage (来自CInternetException)为我提供了以下内容:

使用不正确的ftp服务器名称:
“错误!服务器名称或地址无法parsing”

使用不正确的密码:
错误! 密码是不允许的

用不正确的用户名称:
错误! 密码不允许 <—–? 没有单独的消息用户名不正确? 这是打算?

try { pConnect = sess->GetFtpConnection(host, userName, password, port, FALSE ); } catch (CInternetException* pEx) //incorrect user name displays incorrect password? { TCHAR sz[1024]; pEx->GetErrorMessage(sz, 1024); printf("ERROR! %s\n", sz); pEx->Delete(); } 

是的,是有意的。 典型的FTP服务器不会区分无效的密码和无效的用户名。 这是出于安全原因,所以攻击者不能用暴力的方式来发现有效的用户名。