IIS 6.0 では、既定の設定が特に厳格かつ安全になっており、以前は緩すぎたタイムアウトや制限によって引き起こされる攻撃を最小限に抑えます。たとえば、デフォルトのメタベース プロパティの実装では、ASP ポストの最大サイズが 204,800 バイトに制限され、個々のフィールドが 100 KB に制限されます。 IIS 6.0 より前のバージョンでは、投稿の制限はありませんでした。その結果、本校の出願システムを2003年に移植すると、エラーが多発するようになりました。ここ数日でいくつかの学校を訪問して、いくつかの問題を見つけました。解決策は次のとおりです。
1.ASP サポートを有効にする
Windows Server 2003 はデフォルトでインストールされ、IIS 6 はインストールされません。別途インストールする必要があります。 IIS 6 をインストールした後、ASP サポートを個別に有効にする必要があります。
最初のステップは、Asp を起動し、[コントロール パネル] -> [管理ツール] -> [IIS (インターネット サーバー)] -> [Web サービス拡張] -> [アクティブ サーバー ページ] -> [許可] に移動することです。
「コントロールパネル」→「管理ツール」→「IIS(インターネットサーバー)」→「Webサービス拡張機能」→「サーバー側のインクルードファイル」→「許可」
2 番目のステップは、親パスのサポートを有効にすることです。
IIS-Webサイト-ホームディレクトリ-構成-オプション-親パスを有効にする
3 番目のステップは権限を割り当てることです
IIS-Webサイト-(特定のサイト)-(右クリック)権限-ユーザーフルコントロール
2. Windows2003 が最大 200K までアップロードしなければならないという制限を解決します。
まず、サービス内の iis admin service サービスを閉じます。
Windows\system32\inesrv\ で metabase.xml を見つけます。
それを開き、ASPMaxRequestEntityAllowed を見つけて、必要な値に変更します。
次に、iis admin service サービスを再起動します。
1. Web サービス拡張機能により、サーバー側でアクティブなサーバー ページとインクルード ファイルが許可されます。
2. 各サイトのプロパティを変更する
ホーム ディレクトリ - 構成 - オプション - 親パスを有効にする
3. 200kを超えるファイルをアップロードできるようにします(必要なサイズに変更するだけです。最後にゼロを2つ追加すると、20mが許可されます)
c:\WINDOWS\system32\inetsrv\MetaBase.xml
(Windows 2003 のエンタープライズ バージョンの 592 行目では、デフォルトは AspMaxRequestEntityAllowed="204800"、つまり 200K です。これに 0 を 2 つ追加する、つまり に変更すると、最大アップロードは 20M になります。
AspMaxRequestEntityAllowed="20480000"