C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: ASP.NET で Web.Config 丸見え


(過去ログ 34 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■17103 / inTopicNo.1)  ASP.NET で Web.Config 丸見え
  
□投稿者/ スギ (1回)-(2008/04/16(Wed) 21:43:11)

分類:[ASP.NET (VB)] 

現在、VisualStudio2005 + ASP.Net2.0 (VB) で webアプリ開発をしています。
ASP.NET 開発は初心者です。
今までは Java Webアプリの開発ばかりを実施していました。

--------------
Web アプリを以下の方法でIIS 上に公開しました。
1:Windows XP 上で開発したWebアプリを ビルド→Webサイトの発行
  でコンパイル。
2:作成されたファイル、フォルダを
  Windows Server 2003 へ xcopy する。
3:Windows Server 2003 の IIS 6.0 で [新規Webサイト] 作成し、
  参照フォルダは xcopy したフォルダする。

-----------
上記方法で公開した Webアプリについて、
ブラウザの URL に
 http://サーバー名/Web.Config
を入力すると、Web.Config が丸見えになってしまいました。


いままで、Web.Config はデフォルトではブラウザから
は見えないものだと思っていました。
(Java では WEB-INF 配下は見えないので、
 ASP.NET も同じように動作すると思っていました)

------
Web.Config には DB接続定義などが存在しており、
丸見えはまずいと考えました。
いろいろ実験したところ、以下の方法で対処できることがわかりました。

対処方法は3種類あります。

1:エクスプローラで Web.Config を隠しファイルにする。

2:IIS 管理コンソールで Web.Config のプロパティを開き、
読み取りチェックをはずす。

3:IIS 管理コンソールで Web.Config のプロパティを開き、
  エラーページへリダイレクトさせる。

ここで質問です。

Web.Config を見せないようにする方法としては、
上記1〜3のうち、どの方法を利用するのでしょうか。

それとも、IIS の挙動がおかしいのでしょうか?(インストールに失敗している?)
(そもそも Web.Config が見えるのはおかしい)

それとも上記1〜3以外の方法が存在するのでしょうか。

今回は[新規Webサイト] で アプリケーションを公開していますが、
[規定のWebサイト]で仮想ディレクトリで Webアプリを公開する場合も
同じような方法で Web.Config を隠すのでしょうか。

ASP.NET の開発に詳しい方、ご教授願います。

以上です。
引用返信 編集キー/
■17104 / inTopicNo.2)  Re[1]: ASP.NET で Web.Config 丸見え
□投稿者/ 囚人 (296回)-(2008/04/16(Wed) 22:21:05)
普通は、拡張子 config のファイルは見ません。

そのためには、まずは、IIS が拡張子 config を aspnet_isapi.dll にマッピングしている事。
さらに、config の HttpHandler として System.Web.HttpForbiddenHandler がマッピングされている事。
が求められます。何もしなければ、デフォルトで上記のようになっているはずです。

IIS はどこを見たら良いか分かっていると思うので、HttpHandler に関しては以下。

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config

だったと思いますが、

<add path="*.config" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/>

の一文があるはずです。
引用返信 編集キー/
■17112 / inTopicNo.3)  Re[1]: ASP.NET で Web.Config 丸見え
□投稿者/ はつね (603回)-(2008/04/17(Thu) 00:15:55)
No17103 (スギ さん) に返信
> ブラウザの URL に
>  http://サーバー名/Web.Config
> を入力すると、Web.Config が丸見えになってしまいました。

普通はデフォルト設定で見えることはありません。
何が変な設定をしているか、そもそもASP.NETが稼働するようにIISが設定されていないのではないでしょうか。

引用返信 編集キー/
■17321 / inTopicNo.4)  Re[2]: ASP.NET で Web.Config 丸見え
□投稿者/ スギ (2回)-(2008/04/22(Tue) 09:46:29)
No17104 (囚人 さん) に返信
> <add path="*.config" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/>

上記設定を施してみたところ、Web.Config は見えなくなりました。
次に上記の HttpForbiddenHandler を削除したところ、
Web.Config は見えないままでした。原因は不明です。


No17112 (はつね さん) に返信
> 普通はデフォルト設定で見えることはありません。
> 何が変な設定をしているか、そもそもASP.NETが稼働するようにIISが設定されていないのではないでしょうか。

現在使用している Windows Server 2003 では SQL Server も稼動させています。
2003 Server インストール時、
Windows 2003 → IIS → .NET Framework 2.0 SP1 → SQL Server の順番にインストールしました。

インストール作業直後、IIS Webサイトのプロパティの ASP.NET タグで
バージョン 2.0.50727 が表示されませんでした。

IIS に 2.0.50727 を認識させるため、プロンプトで
>cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
>aspnet_regiis -i
を実施しています。

原因は不明なのですが .NET Framework 2.0 の前に 2.0 SP1 をインストールしたので
IIS が .NET Framework を正しく認識しなかったのではないかと考えております。

Windows Server 2003 のインストールをもう一度始めから実施し、再度確認したいと思います。

ですので、本案件は「解決済み」ということにします。

皆様ご協力ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -