- PR -

フォーム認証

1
投稿者投稿内容
rowakira
会議室デビュー日: 2003/12/02
投稿数: 17
投稿日時: 2004-01-04 18:02
ログインをフォーム認証により作りました.
認証の情報をxmlファイルに格納したのですが,xmlファイルに直接アクセスするとxmlファイルの中身が丸見えになってしまいました.
その他のファイルは大丈夫なのですが,xmlファイルだけ見えてしまいパスワードを設定した意味がなくなってしまいます.
どのようにすればよいのでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-01-05 09:40
 「直接アクセスする」とは、アドレスバーに「http://server/hogehoge.xml」を入力する、ということですか?

 単純には、拡張子を違うものにしてしまうということが考えられます。
→「hogehoge.xml.authinfo」など

 少し手間ですが、暗号化してしまう手もあります。
→「CryptoStream クラス」とか

 もう少し認証周りを調べれば、セッション情報に保存する方法が見つかるでしょう。
cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2004-01-05 15:01

(1)隠したいファイルを、フォルダに入れてそのフォルダの読取りを許可しない。
(2)拡張子をconfigにする。
(3)HttpHandlerで処理させる。
インターネット サービス マネージャで、該当フォルダのプロパティを開く。
ディレクトリの構成で、アプリケーションのマッピングに「.xml」を「.aspx」と同じように追加する。
このようにすれば、直接 *.xml の URL を叩いても、ログイン画面が開く。但し、認証したら見えてしまうので、Web.config の system.web 内に以下を追加。
<httpHandlers>
<add verb="*" path="*.xml" type="MyNamespace.MyHandler,MyNamespace"/>
</httpHandlers>
コード:
	class MyHandler : IHttpHandler
	{
		public void ProcessRequest(HttpContext c) 
		{
			確認してOKならファイルの内容を書く
		}
		public bool IsReusable {get{return true;}}
	}



rowakira
会議室デビュー日: 2003/12/02
投稿数: 17
投稿日時: 2004-01-05 23:25
ありがとうございます。これから色々ためしてみます。
1

スキルアップ/キャリアアップ(JOB@IT)