2017-12-05 10 views
-2

私はいくつかのアカウントで誰かの入り口を許可するアプリケーションをしようとしていますが、1つのIPアドレスだけがそのアカウントにアクセスできます。外部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(); 
} 

プログラムは私のIPアドレスを認識しないので、errosと言います!そして、はい、私はこれが私のIPアドレスであると確信しています!

誰かがこのplsで私を助けることができますか?

+0

'' 'IPHost.AddressList [0] .ToString()' ''にあるものをチェックしようとしましたか? – Gaskoin

+2

デバッガの使い方を学ぶ時間。あなたのコードはあなたのPCの外部IPアドレスを取得するのではなく、ローカルIPアドレスを取得することに気付くでしょう。 – Steve

+1

なぜあなたは 'try {}'がなくても 'catch {}'を持っていますか? – MethodMan

答えて

1

C#のようなネットワーク内から外部IPにアクセスすることはできません。あなたがサーバー上でそれをホストしていたなら、そのIPから始まる接続を許可することができます(ホワイトリストのようなものです)。しかし、最善の策は、あなたのプログラムをWhatIsMyIPと結びつけ、IPをあなたに返すことです。

個人的には、アプリケーションレベルではなく、ファイアウォールレベルでホワイトリストを使用します。これは、ファイアウォールがコードに頼るのではなく、アクセスを制限することを意味します。 「バグがある場合や、悪用可能なゼロデイの場合はどうですか?」といった質問他のよく作られたソリューションがすでに存在するときにコードを使ってアクセス制御を行うべきかどうかを決めるときに考えるべき質問のタイプです。それが私の選択だったなら、私は既に知っているものを使い、最小の労力しか必要としません。

+0

私はすでにWhatIsMyIPのことを試しましたが、私もうまくいきません –

+0

問題は私が別のアカウント定義されたIPアドレスによってのみアクセスすることができます。 アカウントAは、IPアドレスX とアカウントBによってのみアクセス可能であるウィルは、IPでアクセスできるようになりますそれだけでプログラムのユーザーアカウントを定義することが容易ではないでしょう(exaple用)YとZ –

+0

を扱いますか?特定のアカウントで特定の場所からのみログインできるように、各ユーザーアカウントをクレームとしてIPアドレスにリンクすることができます。私はあなたが各場所の一般的なユーザーアカウントを作成し、ロールを使用したり、分離管理にアクセスしたりすることができるときに、これを行う理由は見当たりません – Horkrine

関連する問題