2011-07-24 19 views
3

Linuxサーバにmonoプラットフォームがインストールされており、これをnginx HTTPサーバーの背後で実行することができました。システムはうまく動作し、.NET固有の動的ファイルを完璧に提供しています。.NETプラットフォームのファイル拡張子とは何ですか?

しかし、必要なファイル(拡張子のみ)をmonoに渡して、静的ファイルを含む他のすべてのファイルと、.NETプラットフォーム上で通常の状況では提供しないファイルを処理させたいと思います。私は以下のように自分のnginxを設定しましたが、.NETプラットフォームについて十分な知識がないので、 に渡す必要があり、どのものを禁止する必要があるのか​​わかりません。ここで

は私のnginxの設定ファイルの関連部分です:

# Do not pass .NET forbidden extensions to anywhere. 
# Theese are the extensions that should not be served to the clients 
location ~ \.(config|dbml|dll|master|other|forbidden|exts)$ { 
    deny all; 
} 

そして、ここではモノに必要な(唯一の必須)ファイルを渡します設定の一部です:

# Theese are the extensions which *must* be handled by mono 
location ~ \.(aspx|cs|other|exts|that|must|be|handled|by|mono)$ { 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include   fastcgi.conf; 
    fastcgi_index default.aspx; 
} 

# Other static files will be handled by nginx. 

私が発見しましたWikipedia entryからのいくつかの.NET固有のファイル拡張子ですが、完全ではありません。

だから私の質問は、三つのサブ質問があります。

  • .NETプラットフォーム固有のファイル拡張子は何ですか?
  • どれがである必要がありますは.NETエンジンで処理する必要がありますか?
  • これらのうち、機密情報のうちクライアントに提供してはいけないものはどれですか?

これは共有ホスティング環境になります。そのため、ユーザーには望ましくない影響が発生する可能性があります(ユーザーパスワードやアプリケーション設定など)。

答えて

7

おそらく最も簡単なのは、ASP.NETの基本設定が宣言されているマスターweb.configファイルです。これは例えば、<httpHandlers>が含ま:

<httpHandlers> 
    <add verb="*" path="*.rules" type="System.Web.HttpForbiddenHandler" validate="true"/> 
    <add verb="*" path="*.xoml" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false"/> 
    <add path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false"/> 
    <add path="trace.axd" verb="*" type="System.Web.Handlers.TraceHandler" validate="True"/> 
    <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True"/> 
    <add path="*.axd" verb="*" type="System.Web.HttpNotFoundHandler" validate="True"/> 
    <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True"/> 
    <add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True"/> 
    <add path="*.asmx" verb="*" type="System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="False"/> 
    <add path="*.rem" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False"/> 
    <add path="*.soap" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False"/> 
    <add path="*.asax" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.ascx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.master" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.skin" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.browser" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.sitemap" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.dll.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True"/> 
    <add path="*.exe.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True"/> 
    <add path="*.config" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.cs" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.csproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.vb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.vbproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.webinfo" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.licx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.resx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.resources" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.mdb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.vjsproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.java" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.jsl" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.ldb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.ad" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.dd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.ldd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.sd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.cd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.adprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.lddprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.sdm" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.sdmDocument" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.mdf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.ldf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.exclude" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*.refresh" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 
    <add path="*" verb="GET,HEAD,POST" type="System.Web.DefaultHttpHandler" validate="True"/> 
    <add path="*" verb="*" type="System.Web.HttpMethodNotAllowedHandler" validate="True"/> 
</httpHandlers> 
+0

だから、 'System.Web.HttpForbiddenHandler'の種類は、私は右だ、提供してはいけませんか? –

+0

はい、そうです。 –

関連する問題