ASP.NET

稼働中 Azure Web Apps に影響を与える操作について (再起動とか)

Azure ポータルでは Web Apps に関して色々と操作出来るが、その際の稼働中 Web Apps の挙動について説明。 なお、Functions の挙動は異なるので注意 (https://poke-dev.hatenablog.com/entry/2019/11/24/160018)。 ここでは ASP.NET MVC のプロジェクト作成…

html のキャッシュ抑制方法

まず一番基本の、html ファイルのヘッダーにメタ情報として指定する方法は、下記。Cache-Control については no-cache もあるけど、no-store の方がキャッシュされない感じ。 <head> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-store"> <meta http-equiv="Expires" content="0"> </head> ただ、html のキャッシュ抑制対応するには html ヘッダーの meta タグだけで…

ASP.NET MVC アプリの脆弱性対策について

対象 ASP.NET MVC 5 (.NET Framework) + Azure Web Apps を対象とする。 不要なレスポンスヘッダーの削除 既定のままだと、レスポンスヘッダーには以下のような ASP.NET を示唆する情報が出力される。 Server: Microsoft-IIS/10.0 X-AspNet-Version: 4.0.303…

ASP.NET セッション格納先 Azure Redis Cache の設定を動的に変更する

ASP.NET のセッション情報の格納先は、オンプレでは StateServer モードを使うことが多いと思う (InProc は使わない前提)。 オンプレではステートサービスを利用する方法で良いが、Azure Web Apps 上で動作させる場合、ステートサービスが利用できない。 代…

オンプレ ASP.NET Web.config のセクション暗号化

Web.config に記載する DB 接続文字列などは暗号化したい場合があるが、オンプレ ASP.NET であれば以下のような IIS コマンドを使用して、暗号化した文字列を取得できる。 > aspnet_regiis.exe -pef "connectionStrings" ~ また、接続文字列以外にもアプリ…

ASP.NET 使用時の注意点

セッション情報の格納方法について ASP.NET のセッション情報は既定ではメモリに格納しているが (InProc モード)、これだと、ワーカープロセスが複数になった場合に各ワーカープロセス単位でセッション情報を格納して使用することになり、セッションが維持で…