c++ - 为什么 GetErrorMessage 返回 "wrong password",当用户名错误时?

标签 c++ windows winapi wininet

GetErrorMessage (来自 CInternetException)给了我以下信息:

错误的 ftp 服务器名称:
“错误!无法解析服务器名称或地址”

密码不正确:
错误!密码不被允许

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

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 服务器不会区分无效密码和无效用户名。这是出于安全原因,例如攻击者无法通过暴力破解的方式来发现有效的用户名。

关于c++ - 为什么 GetErrorMessage 返回 "wrong password",当用户名错误时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2166098/

相关文章:

windows - 现代 Windows 中的 ASLR 和 NX-bit?

c++ - IEnumString::Next 的资源管理契约是什么?

c++ - 如何将三角孔补丁转换为表面网格?

c++ - 在 C++ 中正确使用 header

C++类设计

c++ - 如何在 Windows 下用 C++ 代码创建一个新进程?

C++/OpenCV - 如何 reshape cv::Mat?

windows - 此记事本 (.bat) 代码有什么作用以及如何工作?

windows - Windows 上的 OpenGL 1.0 和 1.1 函数指针

c# - 在没有 NtSetTimerResolution 的情况下增加 Windows 上的计时器分辨率(高分辨率)