4

ASP.NETログインと統合する必要があるPHPスクリプトを作成しています(たまたまSitecoreで構築されていますが、それが重要かどうかはわかりません)。セッションとデータ Cookie を生成/ログイン/暗号化する機能を複製し、セッションとデータ Cookie を検出/復号化してユーザーがログインしているかどうかを検出する必要があります。PHP スクリプトと ASP スクリプトはどちらも同じ MS SQL データベースを共有でき、同じファイル システム上にあるため、問題はありません。私の問題のほとんどは、PHP 内での ASP Cookie の設定/読み取りに関するものです。

ASP.NET によって設定された 2 つの Cookie があります。

ASP.NET_SessionId と .ASPXAUTH

ASP.NET_SessionId は明らかにセッション用であり、.ASPXAUTH はデータ用であると私は信じています。

私の質問は次のとおりです。

  • 誰かが PHP で ASP セッションを介してログイン (またはログイン) しているかどうかを知るには、ファイルシステムに保存されているセッションとセッション データを比較する必要があると思います。これらがどこにあるかを決定するものは何ですか?
  • ASPXAUTH Cookie の暗号化/復号化に使用されるアルゴリズムを知っている人はいますか? 標準の「暗号化」および「復号化」メソッドは知っていますが、それらを正確に実行するコードを知りたいです。 IEは、最初にある種のデータ配列であり、次にソルト化およびハッシュ化されますか? 出力のバイトをシフト/変換する必要がありますか? もしそうなら、どのような順序/方法で?

ご協力をお願いいたします。数日以内に、これらの質問のいずれかに回答するのに最も役立つ人に回答を授与します。

現在、PHP で setcookie() を使用して Cookie の生成を再現できました。つまり、ASP.NET アプリ経由でログインし、Cookie データを取得して PHP アプリにプラグインし、ASP .NET アプリ経由でログアウトできます。私をトロールしようとしている人のために、私はこれが可能であることを十分に認識しており、なぜこれを行っているのかを説明する必要はありませんが、多くの時間、お金、および理由が必要なので、はい、両方を使用する必要がありますPHP & ASP.NET。

ありがとう!

アップデート

この回答を使用して、Cookie を部分的に復号化できたと思います : https://stackoverflow.com/a/988018/775586

4

2 に答える 2

2

誰かがASPセッションを介してログイン(またはログイン)しているかどうかを知るために、PHPで、ファイルシステムに保存されているセッションとセッションデータを比較する必要があると思います。どこに(または何を)知っていますかこれらがどこにあるかを決定しますか?

ファイルシステムのどこにもありません。既定では、ASP.NET はセッション データをアプリケーション ドメインのメモリに格納します。したがって、PHP からメモリのこの部分にアクセスすることは忘れて構いません。ASP.NET セッション データをアウト オブ プロセス (専用の Windows サービス) または SqlServer に保存できるモードは他にもあります。さまざまな ASP.NET セッション モードの詳細については、次の記事をお読みください。

ASPXAUTH Cookie の暗号化/復号化に使用されるアルゴリズムを知っている人はいますか? IEは、最初にある種のデータ配列であり、次にソルト化およびハッシュ化されますか? もしそうなら、どのような順序/方法で?

FormsAuthentication.EncryptおよびDecryptメソッドを使用します。次に、web/machine.config ファイルの machineKey セクションで定義したアルゴリズムとキーを使用します。フォーム認証が ASP.NET でどのように機能するかについて詳しくは、次の記事をお読みください。

于 2012-07-03T17:52:15.553 に答える
2

さて、最初の質問ですが...

  • ASP は未加工のファイルシステムに保存しませんが、適切に構成されていて、場所を指定できる場合は、セッション データをデータベースに保存できます。私が読んだことを思い出すと、これは「tempdb」と呼ばれるデータベース、またはいくつかの sproc を含むデータベースにあります。より平易な英語での詳細情報: http://www.codeproject.com/Articles/104082/Configuring-ASP-session-state-on-SQL-server

2 番目のより重要な質問については、次のとおりです。

http://www.codeproject.com/KB/aspnet/Forms_Auth_Internals/image001.jpg

于 2012-07-06T12:33:49.843 に答える