2009-07-07 16 views
7

当社のウェブサイトの一部は.htaccess形式のパスワード保護で保護されています。 Webサイトのこのエリアにアクセスしようとすると、Webブラウザがユーザ名とパスワードを要求するダイアログを表示します。プログラムでパスワードで保護されたWebサイトにアクセスする方法は?

これはプログラムでアクセスする必要があります(例:ajax呼び出し)。サーバーはパスワードが必要であると私にどのように伝え、どのように供給するのですか?

答えて

3

http://user:[email protected]

しかし、それとのいくつかの明白なセキュリティ上の欠点があります。

より完全な解決策は、ユーザーが認証された後にセッション変数を設定することです。

認証を確認するスクリプトにAJAX投稿を作成します。認証されている場合は、CURLを使用して、定義済みの承認済みアカウントを使用して結果を取得します。

これにより、基本的なApache認証を再利用できますが、パスワードはDOMに書き込まれません。

+0

問題のサイトはhttpsです。これはセキュリティの問題を軽減すると考えています。サーバーに渡されたURLがhttpsセッションで暗号化されていますか? –

+1

better better httpS:// user:[email protected] – KevinDTimm

+0

URLは安全であるべきですが、hrefの一部としてプレーンサイトにユーザー/パス権を書き込んでいます。たとえu/pが通過中に狙撃できないとしても、そこにはまだいくつかの問題があります。 – rooskie

2

これはもちろん、AJAXではありませんが、wgetのあなたが--http-ユーザー使用することができますクライアントと--http-パスワードをフラグ

4

でjQueryのは彼らのAJAX()メソッドでHTTP認証をサポートしています。このような何か作業をする必要があります:すべてのjQuery.ajax()のオプションの

jQuery.ajax({ 
    type: "GET", 
    url: "foo.php", 
    username: "foo", 
    password: "bar" 
}); 

マニュアルは、ここで見つけることができます:

関連する問題