みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

asp.NET内でSQLプロシージャを実行させた

お世話になります。
 SQL2000+asp.NETの環境で、SQLのプロシージャを実行させようとしています。
このプロシージャはテキストファイルを読み込んでデータベースに追加・削除するもので、ここで使用している関数は
 ・DELETE/UPDATE/INSERT
 ・BULK INSERT
 ・CURSOR
です。このプロシージャを実行させるには「.NETユーザー」に対し、
 サーバーロールにてbulkadmin
 ユーザ権限にてdd_ddladmin
の権限を付与すれば実行されることは確認しています。

 ここで、ご質問なのですが、asp.NETでプログラミングされていらっしゃる方は、普通にWEBログインユーザーに上記権限を付与していらっしゃるのか知りたいのです。
 逆に、この権限付与は危険だからsubプロシージャにて記述したほうがいいよとかお教えいただければ、と思います。

 以上よろしくお願いいたします。

投稿日時 - 2011-02-25 13:27:48

QNo.6549259

困ってます

質問者が選んだベストアンサー

セキュリティが気になるのでしょうか?
攻撃者にとって権限とかはあまり意味を成さないかと。

ご自信で自分の作ったプログラムに攻撃を仕掛けてみると分かると思いますが、権限があろうがなかろうと大して関係はありませんので。
権限が無くても、IISのプロセスに実行させてしまえば操作は全権限持ってるのと同様ですし。

セキュリティを意識するのであれば、POSTされたデータを直接通さない方がいいかと思います。
チェックボックスとかで数字以外入らないはずのフォームから文字列がきたりするので、そういったところをしっかりとエスケープしたりすることだけをしています。

自分は権限はとりあえず動けばいいので与えておいて、でもユーザーが起こすアクションには自由を与えないという風に作成していますね。
あまりセキュリティ対策に詳しくないので、自分が攻撃して突破できるところを全てふさいでいくっていう風に対策したらそうなりました。
ご参考までに。

投稿日時 - 2011-03-07 23:20:25

お礼

アドバイスありがとうございます。
私はaspでプログラムを作成しているときにSQLインジェクションに攻撃された経験があるもので、リクエストにおいてはそういった対処をしてきました。
asp.netになってからframework側でいくつかの対策が打たれているため、作業がしやすくなったとの認識があります。

投稿日時 - 2011-03-09 10:08:48

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問