0

環境:

  • サーバー 2008
  • IIS 7、統合モード
  • .ネット4
  • ASP.NET WebForms ルーティング (MVC ルーティングと同じ .dll を使用しますが、どのバージョンかはわかりません)
  • Cookie を使用しないセッション (セッション ID はユーザーの URL を移動します)。

ルーティングを使用して、ユーザーが関連付けられている組織を識別するアプリケーションがあります。URL は domain/Organization/OrganizationSubCategory の形式になります。ユーザーがカスタム URL をたどると、ランディング ページが表示されます。次にヒットすると、人口統計情報を収集するページに誘導され、次にヒットしてアプリケーションに進みます。その場合、ユーザーはデータベース内の組織に (必要に応じて) 追加されます。最初のランディング ページの後、ルーティングは適用されなくなります。ユーザーは通常の aspx ページに誘導されます。

このサイトは、かなりの数のユーザーがアプリにアクセスしています。1日平均850枚。

問題は、少数 (1% 未満) のユーザーが間違った組織に追加されていることです。

ランディング ページと、ユーザーが人口統計ページを送信したときの情報をログに記録しています。私たちがログに記録するものの 1 つは、Request.RawUrl です。ある組織に関連付けられているユーザーが、別の組織の完全な正しい URL (サブカテゴリを含む) を要求したとしてログに記録されることに気付き始めました。同じ日にさえ、間違った組織の URL をたどって合法的にアクセスする人がいないこともありました。「サブカテゴリ」を (管理アプリケーションを使用して) 作成し、ユーザーに独自の URL に従うように指示しただけであると直接報告した人がいますが、ログにはそのユーザーのまったく異なる URL が示されています (私はそれがメール アドレスとセッション ID をログに記録しているため、ランディング ページと人口統計ページを介して同じユーザーのパスを関連付けることができます)。これ'

ある種のキャッシングを排除する試みとして、次のものがあります。

  • config httpRuntime 要素の enableKernelOutputCache 属性を false に設定します。
  • IIS 設定でのキャッシュの無効化
  • config sessionState 要素の regenerateExpiredSessionId 属性を false に設定します (セッション ID が再利用されていることは確認していませんが)。

他の提案?

4

2 に答える 2

0

まあ、まだ完全に自信を持ってはわかりませんが、ある組織のユーザーは、インターネットを検索してシステムへのURLを見つけ、それをフォローしている可能性が高いようです。
元の投稿で説明したように、私たちが持っていたレポートを説明することはできません。
確実に証明するために、セッション前後の作成をキャプチャするようにロギングを拡張しようとすると、begin requestイベントのロギングはQA環境(本番環境と同じ)で機能しましたが、本番環境ではフラットでは機能しませんでした。理由はわかりませんでした。

于 2011-10-20T18:36:08.440 に答える
0

これらは内部ユーザーですか? プロキシに関する考慮事項はありますか? ただし、それは間違った URL を説明するものではありません。ユーザーに URL A が与えられ、URL b で表示されることを 100% 確信していますか? 現在割り当てられているルーティング モジュールはありますか? 別のモジュールのルールによって書き換えられていませんか?

これは、「新しいユーザー」の電子メール (例) に間違った URL が含まれているアプリケーションの問題でしょうか?

于 2011-09-29T19:31:41.733 に答える