我正在尝试执行允许某个帐户中某人进入的应用程序,但只有一个IP地址可以访问该帐户,但是当我执行此代码时;
IPHostEntry IPHost = Dns.GetHostEntry(Dns.GetHostName());
if (IPHost.AddressList[0].ToString() == "94.132.170.228")
{
Process.Start("C:/Users/xlysa/Desktop/Coding/CSGO Cheat Client + Injector by Lysander12/ConfFiles/windows.exe");
}
else
{
Console.WriteLine("Error");
Console.ReadKey();
}
} catch
{
Console.WriteLine("Something gone bad!");
Console.ReadKey();
}
它说erros因为程序无法识别我的IP地址!是的,我确定这是我的IP地址!
有人可以帮我这个吗?
答案 0 :(得分:1)
您将无法像在C#中那样从网络内部访问外部IP。如果您在服务器上托管它,您将能够允许来自该IP的连接(如白名单)。但最好的办法是将你的程序与WhatIsMyIP联系起来并让它将IP返回给你。
就个人而言,我会选择防火墙级别的白名单,而不是应用级别。这意味着防火墙将限制访问,而不是依赖代码为您执行此操作。诸如“如果它有错误,或者可以被利用的零日怎么办?”之类的问题。当您确定是否应该通过代码完成访问控制时,您需要考虑的问题类型,当时已有其他制作精良的解决方案。如果这是我的选择,我将使用我已经知道的工作并且需要最少的努力