2013-07-29 9 views
11

私のウェブサイトでは、ログインしたユーザーは自分のプロフィール画像を変更することができ、アップロードされた画像をウェブサイトのルートディレクトリのフォルダに保存します。<identity impersonate = "true" />

私はそれをテストしたときに、アクセス権を使用してこの特定のフォルダにアクセスを許可する必要があるというエラーが表示されました。

私はコントロールパネル、彼はREADWRITE その他から権限をフォルダイメージを付与しなかったことを言ったん1を制御することはできません。

は、テストした後、再び、再び同じエラーので、私はweb.configファイルを編集し、含ま:

<identity impersonate="true"/> 

そして今、すべてが完璧に動作するようです。しかし、私はここで何をしたのですか?セキュリティ上のリスクはありますか?みんなに私のウェブサイトへの匿名アクセスを許可しましたか?

答えて

10

ただし、私はここで何をしましたか?

これで、クライアントユーザーのIDでWebサイトが実行されています。

セキュリティ上のリスクはありますか?

これは、このアカウントがサーバー上に持つアクセス許可によって異なります。通常、多くの特権を持つアカウントを持つWebサイトを実行することは悪い習慣です。理想的には、必要なフォルダに特権を明示的に付与するアカウントでWebサイトを実行するように設定する必要があります。

あなたのアプローチの問題は、指定されたフォルダにアクセスできない別のユーザーがあなたのウェブサイトにアクセスした場合、そのユーザーにはうまくいかないことです。一方、これが予想される動作であれば、ユーザーの身元を偽装することで問題はないでしょう。

誰にでも自分のウェブサイトへの匿名アクセスを許可しましたか?

いいえ、これは認証とは関係ありません。

+0

私はコントロールパネルにアクセスできないので、私はその人に連絡するのが痛いので、自分で権限をテストすることを余儀なくされていましたが、とにかく私はフォルダにアクセスしようとしました=真)、他に何私はすべてが安全であることを確認するためにテストすることができますか?(これが正しいならば私も:(知らない) –

+0

私はすでにあなたはおそらく、偽装を使用すべきではない私の答えで説明したように。 –

2

ログインしたユーザーの下で作業するユーザー権利が与えられています。

また、偽装を行うためのセキュリティ上のリスクがあります。

あなたが生産している場合は、私は、web.configファイルで偽装を使用する」この記事に http://support.microsoft.com/default.aspx?scid=kb;en-us;329290

を読むためにあなたをお勧めしますあなたはアプリがもとで実行されているアプリケーションプール用に構成されたものは何でもアイデンティティ上書きすることができます - (AppPoolのレベルとAppPoolのレベルの両方で)アイデンティティを制御するためのより細かい方法です。そのため、同じAppPoolで実行される2つのアプリケーションを持つことができますが、そのうちの1つは別のIDを使用するために偽装を使用します。" 礼儀:App pool identity versus impersonation identity?

関連する問題