問題タブ [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.
azure - Azure でホストされている場合、machineKey を指定する推奨される方法は何ですか?
複数のサーバーを使用しているときに、Azure Cloud Service Web ロールと Azure Web サイトの両方でホストされている場合に、サイトの MachineKey を設定する最善の方法を見つけようとしています。
私が見つけることができる提案された解決策がいくつかあるようですが、どれも私には正しくないようです。
- セッション アフィニティを使用する (Web サイトでは既定で有効)
- これはうまくいくかもしれませんが、回避策のように感じます。フェイルオーバーのために複数のサーバーを持つことを選択する理由ですが、これは、壊れたサーバーにアフィニティーを持つクライアントが他のサーバーに対して実行できないことを意味します。
- web.config 変換で machineKey を設定する
- これには、マシン キーをソース管理下に格納する必要があり、マシン キーを使用した暗号化の目的が無効になります。
- マシンキーに依存しているので、気にしません。
- 依存関係は、ASP.NET の内部で知らず知らずに使用されているため、見落としがちです。また、ほとんど使用されていないか、既にサーバー アフィニティ (Web サイトでは既定でオン) があるため、問題があることに気付かない場合があります。
私は何かが足りないと感じているか、分析麻痺に苦しんでいるのかもしれません。
asp.net - System.Web.UI.ViewStateException 無効なビューステートです。クライアント IP: 127.0.0.1 ポート: xxx リファラー: http:///
現在、ユーザーがこの投稿のタイトルにあるエラー メッセージを受け取る断続的な問題があります。
System.Web.UI.ViewStateException 無効なビューステートです。クライアント IP: 127.0.0.1 ポート: xxx リファラー: xxx
最終的に開発環境でこれを再現することができました。これは、20 分間非アクティブな状態が続いた後にフォームを投稿することに関連しているようです。
最初はセッションのタイムアウトが問題の原因だと思っていましたが、どうやらそうではありませんでした。
次の投稿を見つけました。
これは、ViewState 暗号化キーの有効期間が有限であり、既定でサーバー レベルで次のように設定されていることを示唆しています。
奇妙なことに、これはすべてのユーザーに対して同時に発生するわけではないため、アプリ プールのリサイクルではありません。
ユーザーセッションごとにキーが生成されるかどうかは誰にもわかりませんか?
提案どおりに静的マシンキー構成を追加することで、このエラーを修正できました
これは本番環境で安全に行うことができますか? アプリケーションは約 10 年間実行されており、長所と短所を知らずに行うのは気が進まないグローバルな変更であるため、再確認したかった.
前もって感謝します。
asp.net - Web ファームまたはクラスター SQL の Web フォーム
次のエラーがあります。
次に、そのリンクをたどって、何が問題なのかを調べます。そのリンクに基づいて、その問題の最初の解決策は明示的な要素を作成することです。PowerShell から生成する方が良いです。Windows PowerShell からスクリプトを実行しようとしていますが、そのスクリプトをコピーして PowerShell 画面に貼り付けた後、結果がどこにあるのかわかりません。
このエラー メッセージを修正する解決策がいくつかあります。2 つの質問
があります。1. Powershell から生成された machineKey はどこにありますか? 結果は見つかりませんでした。
2.このエラーを修正する方法を知っている人はいますか?
ありがとうございました。
c# - .Net 4.5.2 のアップグレード後にデータを復号化しようとすると HttpException が発生する
以下を使用して少量のデータを暗号化する REST サービス (C#/IIS) があります。
暗号化された文字列は後で (REST サービスに) 送信され、次を使用してデコードされます。
web.config に示すように、MachineKey は自動生成されます。
システムが .Net 4.5.1 から 4.5.2 にアップグレードされた後、アップグレード前に暗号化された文字列を復号化できなくなりました。HttpException「データを検証できません」が発生します。(アップグレード後に暗号化された文字列を復号化できます。)
そのため、4.5.1 と 4.5.2 の間でアルゴリズムが変更され、互換性がなくなりました。この特定の問題についてオンラインで何も見つけることができませんでした。この問題に関する具体的な詳細や、それを機能させるための回避策を持っている人はいますか?
問題がある場合、プロジェクトは.Net 4.0をターゲットにしており、4.5 または 4.5.1 または 4.5.2 ではありません。
(余談ですが、この種の問題が原因で、短期間の暗号化以外に MachineKey.Encode/Decode を使用することは推奨されていないようです。また、Encode/Decode が現在廃止されていることは知っていますが、私は既存のシステムがあり、現時点では変更できません。)
アップデート
これは、キーが AutoGenerate の場合にのみ問題になります。明示的な値を指定すると、アップグレード後もすべてが正常に機能します。
asp.net - 自動生成されたマシンキーをエクスポートする方法
web.api 認証に owin oauth ベアラー トークンを使用しています。私は単一のサーバーしか持っていませんでした。マシン キーをカスタム生成する必要はありませんでした。現在、ロード バランサーの背後にある Web ファームに移動する必要があります。ファームに移動したときに、現在のユーザーのベアラー トークンが無効になるのは望ましくありません。自動生成されたマシン キーをエクスポートして、別のサーバーにインポートするにはどうすればよいですか?
asp.net - 特定のアイテムを特定の言語で開くと Sitecore コンテンツ エディターが壊れる
ライブ Sitecore インスタンスでこの奇妙なエラーに直面しています。
多言語、英語、フランス語です。1,000 を超えるコンテンツ アイテムがあります。
2 つのアイテム (これまでに見つかったもの) で、この問題が発生しています。
英語版のアイテムを開くことはできますが、言語をフランス語に切り替えようとしても何も起こりません。他のアイテムを選択し、フランス語に切り替えてから、この問題のあるアイテムを開こうとすると、コンテンツ エディターが壊れて応答しなくなります。
このエラーは Sitecore のログに記録されています:
何が起こっているのか、またはそれを解決するために何をしようとしているのかについて誰か提案がありますか?
Fiddler を使用して、アイテムの他の言語スイッチと同様に、POST と RESPONSE が問題ないことも確認しました。
また、「Raw Values」を使用しようとしましたが、それでもコンテンツ エディターが壊れます。
助けてくれて本当にありがとう、tks
asp.net - 機密性の高い web.config appSettings を暗号化する方法
- 機密データを保護するために、web.config のセクションを暗号化できることを知っています。
- マシンキーがセクションの暗号化/復号化に使用されていることを知っています。
- 私は Web ファームでホストしていることを知っているので、私の machinekey はstickyである必要があります。
しかし、私は要点を見逃していると思います。マシン キーを web.config に配置し、暗号化されたセクションを web.config に配置すると、どのように安全になりますか? 確かにそれはせいぜい難読化ですか?
私のシナリオ:
私たちは、クラウドでホストされ、内部で開発および管理される Web アプリケーションを構築しています。機密性の高いキーを保護する必要があるのは、サードパーティ ツール (ESP、クラウド ストレージなど) の使用を許可する設定があるためです。これらが web.release.config 変換で公開されているため、開発者は製品サービスに自由に接続でき、リスクの要素が生じます。
私の論理のギャップを埋めることができれば、それは素晴らしいことです. しかし、私が本当に望んでいるのは、私の問題に対するベストプラクティスの解決策に関する提案です。
リクエストに応じてさらに情報を追加します。
asp.net - enableViewStateMac エラー
私のサイトは IIS 8.0 を搭載した Windows 2012 VPS でホストされています。これは WebFarm クラスター ホスティングであるため、[IIS マシン キーから一意のマシン キーを生成する] オプションを使用し、それを web.cofig ファイルに配置して MAC エラーを回避します。私のサイトは、.Net 4.5 フレームワークで実行されています。
これが私の Web Config の詳細です。
ただし、実行時に以下のエラーが表示されます。

この問題を解決するために誰かがいます。ありがとう