当用户名错误时,为什么GetErrorMessage会返回"密码错误"?

T.T*_*.T. 4 c++ windows winapi wininet

GetErrorMessage(来自CInternetException)给出了以下内容:

使用错误的ftp服务器名称:
"ERROR!无法解析服务器名称或地址"

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

使用不正确的用户名:
ERROR! 密码不允许 <-----?用户名错误没有单独的消息?这是有意的吗?

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();
}
Run Code Online (Sandbox Code Playgroud)

nos*_*nos 13

是的,这是有意的.典型的FTP服务器不会区分无效密码和无效用户名.这是出于安全原因,因此攻击者无法强行发现有效的用户名.