ホームページ >バックエンド開発 >PHPチュートリアル >HTTP ダイジェスト認証の質問

HTTP ダイジェスト認証の質問

WBOY
WBOYオリジナル
2016-06-23 14:13:551032ブラウズ

http://blog.csdn.net/gl1987807/article/details/6090811

この記事を読んだ後、いくつか質問があります



PHP でこれらの概要認証情報のパラメーター値を生成するにはどうすればよいですか?
username = 'ユーザー名'
realm = 'レルム'
nonce = '現在'
uri = 'クライアントがアクセスしたいURI'
qoq = 'クライアントが選択した保護方式'
nc = ''
cnonce = ''
response = ''

等号の背景に説明がありますが、最後の 3 つのパラメータの値はどこから来たのですか? ドキュメントに説明がありますが、その意味がわかりません。
nc,cnonce 値はランダムに生成されますか?
応答はパスワードの md5 暗号化によって生成されますか?


ディスカッションへの返信 (解決策)

nc の「現在の」カウンター、つまり数値クライアントによって送信されたリクエストの数
cnonce クライアントによって提供される任意の文字列、およびクライアントとサーバーの両方が使用します
応答 'response'、ユーザーがパスワードを知っていることを証明するためにユーザー エージェント ソフトウェアによって計算される文字列

ncクライアントによって送信される「現在の」カウンター リクエストの数
cnonce はクライアントによって提供される任意の文字列であり、クライアントとサーバーの両方が使用します
応答 'response'、ユーザー エージェント ソフトウェアによって計算される文字列ユーザーがパスワードを知っていることを証明するため

nc 値は自由に入力できますか?例: 000001
cnonce 値は自由に入力できますか?例: 51c3f331ca5600006784
応答アルゴリズムを見つけました:
$ha1 = md5("$username:$realm:$password");
$ha2 = md5("POST:$uri");
$response = md5( " $ha1:$nonce:$nc:$cnonce:$qop:$ha2");

注: PHP 言語。

PHP自体が構築したHTTPリクエストを使用しているため、クライアントがパラメータを自動生成する機能はありません。
これらのパラメータ値を生成する方法がわかりません。いくつかのパラメータの値の取得方法はわかっていますが、上記のパラメータは値の取得方法がわからないパラメータです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。