2016-09-17 8 views
0

これで、ログイン検証(HTTPS経由で提供)のために私のウェブサイトの基本api iホストを使用するログインフォームを持つC#winフォームプログラムを作成しています。ログインの検証にAPIを使用しています

したがって、たとえば、ここでいくつかのコード

WebClient wb = new WebClient(); 
    wb.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.33 Safari/537.36"); 
    String response = wb.DownloadString("https://www.example.com?username="+userName+"&password="+password); 
    if(response == "1") 
    { 
     //logged in 
    } 

は、私が私の例で行ったように、ログインの検証のためのAPIを使用することが安全であるならば、私はちょうどwounderingた..です場合

+1

ログインのセキュリティとは何ですか? winformsアプリケーションへのアクセスだけの場合は、noです。それは安全ではありません。誰かがホストファイルを変更したり、プロキシなどを使用してリクエストを傍受し、結果を返すことができます。 – TZHX

答えて

1

を読んでくれてありがとう APIは認証されたユーザーのタスクを実行していますが、これは問題ありません。

つまり、Windowsフォームアプリケーションは軽量クライアントのみですが、認証と特定の権限レベルを必要とするすべてのアクションはAPIによって所有されています。有効なトークンなどがなければ、APIは単にその試行を拒否することを意味します。

クエリ文字列パラメータを使用して認証しないでください.HTTPSを使用してAPIで常に認証し、機密情報が投稿のメッセージ本文に表示されないようにする必要があります。

クエリ文字列パラメータは暗号化され、転送中には表示されませんが、重要な情報を置くことは悪い習慣です。特にパスワード。忘れてはならないのは、相手がサーバーに到達したときにURLが平文であるため、IISなどの関連するWebサーバーのパイプラインで処理できることです。彼らはログや他の領域にも表示されることを意味します。

関連する問題