ショッピングカートは、銀行口座のAjaxを使用して実装銀行口座を実装する銀行口座を実装するショッピングカートの実装に似ています。唯一の本当の違いは、セキュリティが必要です。たとえば、自分のアカウントにmaryjaneログと彼女が参照するURL /アカウント/ maryjane、その場合のみmaryjaneしたり、データを表示するための適切な人物を求める。誰無効なセキュリティ証明書のエラーを取得する必要があります。この資料の残りの部分はどのようにユーザを認証するためにクッキーやHTTP認証を使用するに焦点を当てる: •HTTPの クッキー:HTTPクッキーの識別子は、クライアントとサーバー間のHTTPヘッダーに送信されます。サーバーはCookieを生成するために、クライアントがサーバーにクッキーを送信するための責任がある責任があるURLとその子孫が与えられた。 • HTTP認証:HTTP認証を使用することにより、ユーザーを認証することが可能です。その後、必ず指定されたURLレルムのユーザーの要求内容には、クライアントの認証情報を送ります。 HTTP認証、クッキーかどうかは、クッキーやHTTP認証を使用すると、ユーザー自身を認証する必要があります除いて、クライアントのたびに指定されたURLにアクセスしたいトークンを送信すると似ています。サーバを検証する場合は、トークンのアクセス許可のURLにアクセスしています。 承認にアクセスするクッキーを使用して
HTTPのcookies4、部分的に不相応な、そしてそれゆえにクッキーを使用してはならないと主張する多くの評判が悪い。クッキーとこの問題は、自分の理論を行うには、しかし、その実装や影響というではありません。実生活のアナロジーとして、ショッピングモール参入を検討ここで誰かがあなたを使用するとすることができますまたは拒否の入り口でトークンを与える。場合は、トークンを拒否すると、ショッピングモールを入力し、すべての格納扉が突然終了します。また、ショッピングモール散策することができますが、あなただけの窓を介して商品を見ることができます。あなたも、コンテンツを、すべてのショップでは提供していますが、ガラスの背後に表示することができます。他方場合は、トークンを受け入れる、店の扉を開いたままに、あなたのすべての製品を閲覧できます。参考にされるためには、店員モール内にある最高の提供に関する推奨事項を提供します。しかし、そこを経験する暗い小声です:ショッピングモールで、あなたをステップごとに見て、すべてを追跡されて見てください。もちろん、ショッピングモールは、情報を他の目的には使用されず、問題は、どこか最高を提供し、これらの勧告を行うであることを保証するから来るか?トークンまたはCookieの人たちを追跡するために使用されている。私も非常にそれらについての不安を見つけ、クッキーの使用について、また、分割ている私に熱中しています。 HTTPクッキーを終了するための手段です。 の生成は、Cookie それを生成することが可能であるHTTP cookie5ライブラリから任意のヘルプを使用せずに。クッキーの普及のため、ほとんどのサーバー側ライブラリのクッキーをいくつかのパラメータに基づいて生成するためのクラスや関数があります。利用可能なサーバーを使用する側のライブラリを強くお勧めの生成は、クッキーは、サーバーを使用してサイドのライブラリは難しくありません。使用する場合、ASP.NETには、次のソースコードを使用します: HttpCookie mycookie =新しいHttpCookie("サンプル"、"myValueは"); mycookie.Path ="/ ajax/chap07"; Page.Response.Cookies.Add(mycookie); あなたは、クッキー(HttpCookie)をインスタンス化しaminimumでは、あなた)は、キー(サンプルを指定し、値(myValueは)。組み合わせのキーと値のペアは、クライアントとサーバー間で送信されます。 Cookieのプロパティmycookie.PathするためのURLとその子孫はクッキーが有効であることを指定HTTP認証には、この比較すると、クッキーのパスは、HTTP認証領域に等しくなります。あなたが応答する方法をPage.Responseを使用して、新しく作成したCookieを追加します。Cookies.Add。ときに、クッキー、HTTP応答のクッキーにSet - Cookie HTTPヘッダーとして、次のHTTPサーバからの応答が図を使用して生成されますが追加されます: はHTTP/1.0 200 OK]をサーバー:モノXSPとServer/1.1.13.0のUnixのX -者:モノ日付:Mon、28型2006午前17時31分14秒次コンテンツ8月:テキスト/ HTML;のcharset = UTF - 8に設定電源-クッキー:サンプル= myValueは、パス= / ajax/chap05 Content - Lengthを:388 Keep - Aliveを:タイムアウト= 15、最大= 99接続:Keep - Aliveを クッキーのサンプルとパスの有効/ ajax/chap05 myValueはの値を持ちます。がないため、値の有効期限が切れると、Cookieは、ブラウザの存続期間中のみ有効です。場合は、ブラウザを閉じた場合、クッキーは、これは、HTTP認証のような動作が削除されるユーザの識別子に基づく。 を理解する方法は、クライアント管理は、Cookie ときに、クライアントがCookieを受信すると、クッキーの場合、自動的にクライアントのブラウザ、またはブラウザのXMLHttpRequestオブジェクトが保存されます。ため、すべてを透過的に発生した実際には、クライアント側では、JavaScript絶対に何も割り当てられているクッキーとは何を持っています。場合は、ページとCookieをドメイン全体に割り当てられているブラウザに読み込まれると、クッキーが送信されますたとえば、XMLHttpRequestオブジェクトは、ドメイン内のページを呼び出します。パスワードや個人情報の任意の種類の中などの機密情報を格納するクッキーは推奨されません。クッキー情報を参照ではなく、情報のリポジトリです。ユーザーが他の手段を使用して認証されている、クッキーとは、ユーザーを識別するトークンとしてのみ使用する必要があります。 クッキーを持つユーザーを識別する サーバーがCookieを生成しますので、クッキーだけでは、トークンは、それは意味がない。クッキーを横断する必要がある特定のユーザーに参照されます。 crossreferenceは、トークンには、認証メカニズムを適用する必要があります。のいずれか2つの認証メカニズムを使用することができます。まず最初に、HTTP認証を使用してCookieのネクタイでした。第二に、仲間のクッキーは、ユーザーがHTMLページを作成することができます。関連付けるには、ユーザーがクッキーとは、明示的な認証を必要とするファイルの保護を含むようにHTTP認証を使用する。ユーザーがHTTP認証を使用して認証され、保護されたファイルには、クッキーと認証情報を関連付けるための責任がある。ユーザーが持っていないHTTP認証を使用して認証する。 HTMLフォームの代わりに使用することができる。 HTMLフォームを使用すると、ユーザーが管理するコードを提供するための責任だ。これは、HTTPプロトコルの基礎となるこの追加コードのためには、HTTP認証メカニズムは、優先されます。 HTTP認証を使用して HTTP認証おそらく1つのユーザー識別子を作成するのは、最も利用不足のテクニックの一つです。ほとんどのWebアプリケーションは、HTTP Cookieを好むが、傾向は、HTTP認証はまだ未オプションは、HTTPクッキーのない議論されるいくつか提供しています。90年代初めは、HTTP認証はよく知られている一般的に安全でないと見なされ、これは、クライアントが常にユーザー名とサーバーのたびに認証が実行されたパスワードを送信する。セキュリティ上の問題を回避するために、HTTP認証のより安全なフォームを作成したと呼ばれる HTTPダイジェスト認証。 HTTPの普及初期のWeb日間で配布されたダイジェスト認証。もちろん、今日のような場合、すべてのブラウザ、またはほとんどのブラウザでは、少なくともHTTPのHTTP認証、ダイジェスト認証をサポートするには、ユーザーがいつでも終了して、ブラウザを再起動自分自身を認証する必要があります両方の祝福と呪いはない。自動的に送信されていないの祝福は、認証情報は、呪いは、ユーザーaWebサイトでセッションを開始する前に、自分自身を認証する必要があります。いくつかの必要と考えるかもしれないが、ときにセキュリティが重要な場合、HTTP認証を使用するには欠点も認証できるように識別されたユーザーに適切な権限を与えるようにします。技術的なレベルでは、HTTP認証メカニズムですwherebyユーザーが要求するリソースの内容、およびサーバーの問題課題は、身分証明書を要求した後は、ユーザーが適切な情報を入力すると、サーバはユーザを認証します。場合は、認証が動作すると、ブラウザは、リソースの表現をダウンロードします。典型的なHTTPは、次の手順で説明されて認証の会話のダイジェスト。プロセスは、クライアントのリソースを要求するかで始まります: のGET /テスト/ HTTP/1.1のホスト:ジュピター:8100のUser - Agent:Mozilla/5.0(Macintoshの場合;ロ; PPCのMac OS XのMach - Oの;アン米;右心室:1.7.8)Gecko/20050511受入:text / xmlの、application / xmlのはapplication / xhtml + xmlで、テキスト/ HTML;質問= 0.9、テキスト/平野;質問0.8、イメージ/言語:= 0.5受入,*/*;質問= PNGのアン私たち、アン;質問= 0.5受入のエンコーディング:gzip形式、- Charsetに受入デフレート:のISO - 8859 - 1は、utf - 8;質問= 0.7、*;質問= 0.7はKeep - Alive:300接続:keep - aliveのリソース、およびそのサーバーが保護されて認証のために挑戦していきます:HTTP/1.1では、401の認可日必須:日、27日"ダイジェストレルム= 2006十四時00分05秒次サーバー:Apache/2.0.53(Ubuntuの)PHP/4.3.10-10ubuntu4 WWW認証:8月プライベートドメイン"、nonceの="0hvlrVH/AwA = 8225d4804076a334d81181695204fee405adaaee"、アルゴリズム= MD5のドメイン="/ test"と、qopの=""コンテンツのauth -長さ:497 Keep - Aliveを:タイムアウト= 15、最大= 100接続:キープアライブ生きのContent - Type:テキスト/ HTML;セット=のISO - 8859 - 1
クライアントは、HTTPエラーコード401を受信し、HTTPヘッダのためのWWW検索のHTTP、WWWの認証。価値の認証を要求されている認証メカニズムが含まれます。この例では、HTTP要求されたダイジェスト認証。注意点としては、基本的な認証を使用することも可能ですので、安全であると見なされない場合は、それを避けている。チャレンジへの応答として、ブラウザでは、ユーザ名とパスワードの入力を求めるダイアログボックスが生成されます。ユーザ名とパスワードは、追加されたユーザ認証情報を使用して、元の要求を再発行するためにブラウザが原因で、ユーザーのタイプとして、ここに示す: のGET /テスト/ HTTP/1.1のホスト:localhost:8100のUser - Agent:Mozilla/5.0(Macintoshの場合;ロ; PPCのMac OS XのMach - Oの;アン米;右心室:1.7.8)Gecko/20050511受入:text / xmlの、application / xmlのはapplication / xhtml + xmlで、テキスト/ HTML;質問= 0.9、テキスト/平野;質問0.8、イメージ/言語:= 0.5受入,*/*;質問= PNGのアン私たち、アン;質問= 0.5受入のエンコーディング:gzip形式、- Charsetに受入デフレート:のISO - 8859 - 1は、utf - 8;質問= 0.7、*;質問= 0.7はKeep - Alive:300接続:keep - aliveの承認:ダイジェスト名="cgross"、レルム="プライベートドメイン"、nonceの="0hvlrVH/AwA = 8225d4804076a334d81181695204fee405adaaee"や、uri ="/テスト/"、アルゴリズム= MD5の応答="fc4ec419438f87a540d8898a537ea401"、qopの=認証、ノースカロライナ= 00000001、cnonce ="01b6730aae57c007" その結果、要求は、最初の要求は、除いては、追加のHTTPヘッダー、認可に似ています。ときに、同じURLの要求に直面して、承認のHTTPヘッダーは、サーバーを検索します。場合は、サーバーは、ヘッダーを検出すると、サーバーとし、検証に応じて、いずれか、つまり、自分自身を認証したり、ユーザ認証を考慮にユーザーに要求するダイアログボックスを生成するためには、ブラウザの原因別のHTTP 401エラーが返される情報を確認します。場合は、提供される認証情報が正しい場合は、関連付けられている表現をダウンロードされるときは、HTTP認証を使用して、承認のHTTPヘッダのすべてのURLとは、WWWによって指定されたその被扶養- Authenticateヘッダーが送信されているサーバーによって送信されます。この例では、値はドメイン="/ test"は、1つのURLを参照する/テストとその依存関係。 HTTP認証の実装 あなたは、HTTP認証を管理する任意のコードを記述しないでください。すべてのWebサーバーは、HTTP認証を管理する能力が、あなたの管理の課題としては、このままにしてください。これは、HTTP認証を使用しないことを意味していません。あなたはまだかどうかをユーザーが認証さを知る必要があると関連付ける必要があるユーザの識別子情報へのユーザーです。プログラムの観点から、認証情報は、サーバーによって提供されて要求の構造を提供。 ときにそれは必要ありません認証 1つはHTTP認証の副作用は、コンテンツは通常のいずれか、または保護されて保護されていません。伝統的に、この理由を、クッキーのリソースのためにオフにすることはできませんし、再び上の同じリソースに背を向けてHTTP認証を使用されています。として、今の姿は、HTTP認証のグローバル設定ではなく、個々の設定は、つまり、ユーザを混乱させるだろう。言い換えれば、認証が1つのために必要です、それはすべての人が必要です。その問題を引き起こすことができます。のユーザーがサイトをブラウジングしていると何かを購入したいとしましょうつまり、ユーザーのショッピングカートが必要になります。ただし、ユーザの識別子は、ショッピングカートを実装する必要がある。ショッピングカートを作成するには、無防備なリソースが必要ですが、保護のグローバルなので、誰もがショッピングサイトを開始何かを購入の最初のページを閲覧するには、ショッピングカートを取得する必要がある保護されています。すてきなアイデアジャンプする経済を起動すると、それが起きようとしていません。時の保護は、この問題を回避するには、としては、HTTP認証方法を使用することができます次のとおり: 1。 ユーザー(たとえば)http://mydomain.com/browseいつものようにサイトを閲覧してみましょう。 2。 各閲覧ページでは、ユーザー()http://mydomain.com/browse/authenticate認証できるように考えを示すために保護されたリンクを追加。 3。 時の認証には、無防備なコンテンツの応答に割り当てられているなど、HTTPの領域(ドメイン)の後に認証のリンクをユーザーがクリックする()http://mydomain.com/browse。 4。 ユーザがURLに送信され、にもかかわらず、必要とされていないユーザの識別情報をhttp://mydomain.com/browseをブラウズします。このトリックは非常によく使用する場合は、ダイジェスト認証はHTTPに動作します。次のApache HTTPDの設定例は、このテクニックを使用します: ディレクトリ"/ヴァール/ www /の閲覧/認証""AllowOverrideディレクティブauthconfigのauthTypeはダイジェストAuthDigestDomain /閲覧/閲覧/ AuthDigestFile認証"/ etc/apache2/digestpasswd"AuthName"プライベートドメイン"の有効な要求ユーザー この技法は、構成項目別AuthDigestDomainここで、両方のURL /およびブラウズ/閲覧/認証参照されて実装されます。これは、構成項目のディレクトリを参照するURLを/閲覧/認証、URLのみ/閲覧/認証認証のために挑戦されます。は、この手法が実際には、次のHTTPの会話を考えて作品を説明する。まず、要求を無防備なリソースのために作られます: のGET /閲覧/ HTTP/1.1のホスト:ジュピター:8100のUser - Agent:Mozilla/5.0(Windowsの;ロ;は、Windows NT 5.0;アン米;右心室:1.7.5)Gecko/20041220 K-Meleon/0.9受入:テキスト/ xmlをapplication / xmlのはapplication / xhtml + xmlで、テキスト/ HTML;質問= 0.9、テキスト/平野;質問0.8、画像/ ,*/*;質問= 0.5 = PNG形式サーバーは通常どおりに表示されたページを読み込むには、クライアントがHTTP 200のリターンコードで応答します。これは、ユーザーが買い物をしたいと考えてニーズを認証できるように次に、クライアントは、保護されたリンクを、別の要求を行います。クライアントは、保護されたコンテンツは、次の要求を行う: のGET /閲覧/ HTTP/1.1のホスト:192.168.1.103:8100のUser - Agent:Mozilla/5.0(Windowsの;ロ;認証は、Windows NT 5.0;アン米;右心室:1.7.5)Gecko/20041220 K-Meleon/0.9受入:がtext / xml、application / xmlのはapplication / xhtml + xmlで、テキスト/ HTML;質問= 0.9、テキスト/平野;質問0.8、画像/ ,*/*;質問= 0.5サーバー= PNGの認証チャレンジに応答: HTTP/1.1の401承認が必要な日付:Mon、28ダイジェストレルム="プライベートドメイン"、nonceの= 2006夜4時08分28秒次サーバー:Apache/2.0.53(Ubuntuの)PHP/4.3.10-10ubuntu4 WWW認証:8月"yiLhlmf /阿波= e1bafc57a6151c77e1155729300132415fc8ad0c"、アルゴリズム= MD5のドメイン="/閲覧/閲覧/認証"、qopの=""コンテンツのauth -長さ:503のContent - Type:テキスト/ HTML;セット=のISO - 8859 - 1ドメインの識別子は、無防備なリソースのサーバーからの応答で定義されています。これは、技術保護コンテンツの認証情報を送信するために使用されます。次のようにクライアントのユーザ認証では、応答: のGET /閲覧/ HTTP/1.1のホスト:192.168.1.103:8100のUser - Agent:Mozilla/5.0(Windowsの;ロ;認証は、Windows NT 5.0;アン米;右心室:1.7.5)Gecko/20041220 K-Meleon/0.9受入:がtext / xml、application / xmlのはapplication / xhtml + xmlで、テキスト/ HTML;質問= 0.9、テキスト/平野;質問0.8、画像/ ,*/*;質問= 0.5承認:ダイジェスト名="cgross"= PNG形式、レルム="プライベートドメイン"、nonceの="yiLhlmf / = e1bafc57a6151c77e1155729300132415fc8ad0c"や、uri ="/閲覧阿波/"認証アルゴリズム= MD5の応答="c9b5662c034344a06103ca745eb5ebba"、qopの=認証、ノースカロライナ= 00000001、cnonce ="082c875dcb2ca740"認証後、サーバーを可能にする保護されたコンテンツをダウンロードします。今の場合、クライアントは再び無防備なURLを参照すると、認証情報をサーバーには、次の要求によって示さ渡されます: のGET /閲覧/ morecontent / HTTP/1.1のホスト:ジュピター:8100のUser - Agent:Mozilla/5.0(Windowsの;ロ;は、Windows NT 5.0;アン米;右心室:1.7.5)Gecko/20041220 K-Meleon/0.9受入:がtext / xml、application / xmlのはapplication / xhtml + xmlで、テキスト/ HTML;質問= 0.9、テキスト/平野;質問0.8、画像/ ,*/*;質問= 0.5承認:ダイジェスト名="cgross"= PNG形式、レルム="プライベートドメイン"、nonceの="yiLhlmf / = e1bafc57a6151c77e1155729300132415fc8ad0c"や、uri ="/閲覧阿波/ morecontent /"、アルゴリズム= MD5の応答="18ccd32175ce7a3480d5fbbc24de8889"、qopの=認証、ノースカロライナ= 00000005、cnonce ="0d448aca73b76eb1" この要求は、クライアントは、URLには、認証を必要としないの認証情報を送信しています。簡単に言えば、認証メカニズムと、"HTTPクッキー"とは、クライアントによって制御される仕組みとなっている。クライアントのフルコントロールしているときに時は匿名のままに認証になる。次の点に注意する必要があります: ショッピングカートまたは銀行口座を実装する記事•アクションURLを定義し、固有のURLが含まれます。 アクションURL•ユニークなURLを生成するための責任がある。 •あなたはパーソナライズされたURLは、必要なサーバを維持する側のセッションオブジェクトを置き換えるには固有のURLを考慮することができます。 •サーバ側のセッションオブジェクトのとき、柔軟なWebサービスを作成したい場合に便利ではありません。ショッピングカートの例は、オンラインストアに値を追加する事前定義されたショッピングカートを使用することができます示す。 •現在のアクションのURLからユニークなURLのステータスコードは、HTTP 300シリーズを使用してリダイレクトを実装することができます。しかし、XMLHttpRequestの呼び出し元のステータスコードの結果、このシリーズを使用して固有のURLが何であるかを知ることはありません。 推奨されるメカニズムをリダイレクトするためにXMLHttpRequestを使用•HTTPステータスコード201を使用しています。このコードは、新しいリソースは、理論的な観点から、固有のURLの原則の趣旨と一致するが作成されているということです。 一般的に一意のURLを追跡しないサーバー•。これは、特定の固有のURLに関連付けるには、特定のユーザーには、クライアントの責任です。場合は、一意のURLは、ショッピングカートのような匿名の場合、クライアント側のCookieを使用する必要があります。場合は、一意のURLの場合、サーバー側のクッキーまたはHTTP認証を使用する必要があるセキュリティの制限があります。 •ときにセキュリティを実装するように、クッキーのコンテンツを生成するために使用できない場合は、限り、クッキーを使用することができます。クッキーは、リソースへのアクセスを許可するために使用されます。 •クッキーおよびHTTP認証メカニズムは、優先されるユーザ識別情報を実装するために使用を意味します。 これはデータの整合性の問題につながる•時のアクションのURLから、することはできません応答をキャッシュ、リダイレクト機能を実装する。 •ユニークなURLは、サーバー側の2つのメカニズム:定義済みのURLは、Apacheのような、またはフィルタは、ターゲットを特定のハンドラの実装のmod_rewriteのメカニズムの書き換えを使用して処理されます。推奨されるメカニズムフィルタは、ターゲットを特定のハンドラが、従来の目的のため、それを完全に定義済みのURLのメカニズムの書き換えを使用して許容されています。 記事は、ソニアLandeを提出 免責事項:弊社のウェブサイトは、この資料の内容については責任を負いません。 Webarticles無料の情報リソースです。 重要: ショッピングカート"自動ソフトウェアによって翻訳された銀行口座のAjaxを使用してこの記事は、"実装する。大変申し訳ございませんが発生した可能性があります任意のスペルミスを感じている。お客様のご理解いただき、ありがとうございます。
|
|||||
| Online: 270 users browsing the articles directory |
|
|