問題タブ [machinekey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4248 参照

asp.net - ビューステートMACの検証に失敗しましたエラー。

ASPX-C#ページをいくつか使用してWebサイトを構築し、フォームを使用して新しいページを追加しました。問題は、[送信]をクリックすると、次のエラーが発生することです。

ビューステートMACの検証に失敗しました。このアプリケーションがWebファームまたはクラスターによってホストされている場合は、構成で同じvalidationKeyと検証アルゴリズムが指定されていることを確認してください。AutoGenerateはクラスターでは使用できません。

他のすべてのページのフォームは正常に機能しますが、この特定のページで送信した後、フォームが機能せず、すべてのフォームでこのエラーが発生します。オンラインで解決策を検索しようとしましたが、見つけた解決策が機能しなかったようです。:(

更新 このコードをWeb構成ページに配置すると、問題が解決しました。

しかし、PostBackコマンドは現在うまく機能していません。

私の質問は、なぜ、どうすれば修正できますか?

私がこれをできるだけ早く解決しなければならないのを手伝ってください。

0 投票する
3 に答える
1357 参照

asp.net - Viewstate 検証が Web ファームで失敗する - 通常の容疑者が排除される

この問題に対する標準的な対応をすべて試したと思います。また、この問題に関する何百もの質問や投稿を読んだことは知っていますが、いずれも解決していないようで、原因を明らかにしているようには見えません。私のシナリオにあります。(私は 5 時間ダウンしており、それに近づいていません :-( )

  • 2 台のサーバーの Web ファームがあります。

  • 両方のマシンの machine.config にマシン キーと検証キーを設定しました

  • 暗号化: SHA1、復号化: AES - これらはデフォルトです。変更することはできますか?

  • チェーン内の他の構成ファイル (web.cfg、apphost など) にこれらの値が設定されていないことを確認しました。

  • マシン キーの値を吐き出すページを (この SO に基づいて)サイトに追加し、それらが両方のマシンへの要求全体で同じであり、machine .config にある値と一致することを確認しました。

  • サーバー側のセッション状態は共有状態サーバーにあります。セッション ID が 2 つのサーバーへの要求間で一定のままであることを確認しました。

  • 投稿を開始する前に、ページが完全に読み込まれ、__EVENTVALIDATION 隠しフィールドがページにレンダリングされていることを確認しました。ビューステートのサイズは 7.64kb でそれほど悪くありません

サーバー 1 への要求からページがレンダリングされ、サーバー 2 に戻されると、恐ろしい結果が得られます...

投稿は、標準の純粋な asp リンクボタンによってトリガーされます。ページで ajax が実行されることはありません。

どんな助けでも大歓迎です。

enableViewStateMAC = false を設定することは解決策ではありません:-)

0 投票する
1 に答える
3278 参照

encryption - 3DES を使用したマシンキーの検証

3DES 検証を使用して検証キーと復号化キーを使用すると、次のマシンキーでエラーが発生します。両方を削除すると機能します。3DES を使用する場合の最善のアプローチは何ですか?

0 投票する
1 に答える
287 参照

asp.net-mvc - Asp.net MVC アプリケーションで検証キーではなく SSL を使用することの違い

Asp.net MVC アプリケーションごとに、静的または動的キーを使用してユーザーの要求/応答を検証します。たとえば、web.config ファイルでは、静的検証のためにこれを使用できます。

一方、Web アプリのセキュリティをアップグレードするための SSL (Secure Socket Layer) というツールがあります。SSL には否認防止メカニズムもあります。

これを念頭に置いて、私の質問は次のとおりです。

それらの間にどのような違いがありますか?また、それらに関連する仕事にはどのようなものがありますか? それぞれがアプリのどの部分を保護しますか? 言い換えれば、SSL を使用する代わりに MVC ValidationKey を使用することで、アプリから信頼できるでしょうか?

私を困惑させる概念は次のとおりです。暗号化/復号化の両方があります。

0 投票する
3 に答える
8043 参照

c# - コード内の ASP.NET machinekey セット キー

IIS でホストされている ASP.NET MVC 4 Web サイトのために、実行時にコードでマシン キーを動的に調整したいと考えています。

マシン キー、暗号化キー、検証キー、および使用するアルゴリズムは、データベースに格納されます。ファイルから値を読み取る代わりに、web.configアプリケーションの起動時にそれらの値を挿入し、代わりにシステムにそれらの値を使用させたいと考えています。

まったく変更せずにそれを達成する方法はありますかweb.config(インメモリ構成のみを変更するため)?

構成セクションにアクセスしようとしましたが、読み取り専用としてマークされており、封印されているため、オーバーライドできませんIsReadOnly()。ただし、setter読み取り専用フラグを潜在的に削除する方法がある可能性があることを示す指標があります。

これを達成する方法はありますか?私が見ることができる唯一の代替手段は、AppHarbor のようなカスタム メソッドを使用することですが、可能であれば、組み込みのアプローチに固執したいと思います。

なぜそれをしたいのか誰かが尋ねた場合、その理由は、これは Web ファームで実行されている多数の同一の Web サイトのためです。したがって、自動生成されていないキーを持つことは必須です (各サーバーで同じでなければなりません)。また、各 Web サイトを分離し、同じキーを共有しないようにする必要があります。すべての Web サイトは物理的な表現が同じであるため、同じ物理的な場所を共有しています。これが、web.config ファイルにアプリケーション固有の設定を含めることができない理由です。

編集:少なくともそれが不可能な場合は、確認することは非常に役立ちます. 前述のように、マシン キー設定の使用を完全に回避するカスタム認証および暗号化方法を使用できます。ありがとう。

0 投票する
1 に答える
1094 参照

iis - C# で HMACSHA256 を使用して暗号化キーを生成する方法への Web サイトのマシン キーをセットアップするには

web.config を手動で更新するためにマシン キーを生成しようとしましたが、同じことを行うには powershell スクリプトが必要です。誰でもこれについて私を助けることができますか?

ここに画像の説明を入力

0 投票する
2 に答える
7931 参照

c# - SHA1 に設定されたマシン キーでデータ エラーを検証できません

IIS 7.5 で .NET 2.0 ランタイムを使用する単純な .net アプリケーションがあり、web.config のマシン キーを次のものを使用するように変更しました。

これはローカルでは正常に機能しますが、サーバーに公開すると、サイトを閲覧するたびに「HttpException (0x80004005): データを検証できません」というメッセージが表示されます。コンパイル debug="false" を設定するようにしました。検証方法を 3DES に設定すると、この問題は解消されますが、SHA1 を使用する必要があります。ここに欠けている設定オプションはありますか? 以下のスタック トレースを参照してください。