- PR -

ASP.NETでの閲覧者情報

投稿者投稿内容
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-07-25 19:15
いわゆるダウンロードをさせずに、各ユーザが初回アクセス時にメールアドレスを登録して、リクエストに応じて配信する、ってのはどうですか?
リクエスト順に処理すれば負荷も掛からないし。

【追記】
って、ファイルサイズがデカかったり、社外からのアクセスもアリだとすると現実的じゃないですね。


[ メッセージ編集済み 編集者: きくちゃん 編集日時 2005-07-25 19:27 ]
迦陵頻伽
常連さん
会議室デビュー日: 2005/07/25
投稿数: 21
投稿日時: 2005-07-25 19:22
ネットワークとかプロトコルとか殆ど分からないのですが、
気になったので・・・

DAI氏が書き込んでいましたが、TCP/IPのパケットモニタのような機能で
どうにかなるのではないでしょうか?

というのは、先程、FreePeekというフリーのパケットモニタのソフトを使って
www-httpだけをフィルタしてダウンロードを途中でキャンセルさせる等してみたのですが、
ダウンロードがキャンセルされたかどうかの判別は可能だと思います。
また、ダウンロードしてる人のIPアドレスなどは当然判別が出来ますし、
ダウンロードしているファイルの情報も分かります。

単純にモニタだけしていては駄目でしょうが、ダウンロードが始まったら、
その情報を保持しておいて、完了・またはキャンセルなどを検出したら、
保存しておいた情報は消す。
ASP.NET側でこの情報を取り出すことが出来れば、判別可能だと思うのですが?

※最初に書いた通り、この辺は初心者ですので問題があったら突っ込んで下さい。
ベテランと呼ばれる方々がこういった事を書いていないって事は
技術的に駄目だったり何か問題があるのでしょうけど・・・
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2005-07-25 19:35
ん〜・・・なんっつーかね。I氏といい「今年は大漁!」って感じがしてます。
(まぁ、どうでもいい事ですが。)

とりあえず、
引用:

投げっぱなし?
HTTPはTCP/IPなのですから投げっぱなしという事は無いですよね?


こんな質問してきてる時点でHTTPを理解していないって事がはっきりと分かります。
(だから「勉強しなおしてきて下さい。」って言ったのですがねぇ。)

あと、
引用:

また、返答して頂いてる方が、難しく考え過ぎている気がするのは気のせいでしょうか?


って発言は、
少し前に比較的簡単な方法を甕星さんが提示してくれたというのに、
引用:

簡単に出来れば苦労したり質問はしていません。


などと流してしまった人の言葉とも思えませんが。
(あちこちの仕様が矛盾してるようなあたり、問題が収束しそうな解決案が出る度に一蹴するあたり、単なる釣りなんじゃないか?と邪推してみたくなります。)

まぁ、とりあえず。
最初に質問が出てから1週間以上経っていてごちゃごちゃしてきているので、
DAIさん本人がどのように解決しようとしたのか?
どのような方向で解決しようとしているのか?といった事をまとめてみてくれませんか?

(ってか、このスレをざっと見ただけでもDAIさんのおっしゃるような事を解決する方法はいくつか思いつくんだけどねぇ。)
迦陵頻伽
常連さん
会議室デビュー日: 2005/07/25
投稿数: 21
投稿日時: 2005-07-25 20:06
SE2年目の若造がこんな事を言っていいものか何なのですが・・・
普通に見てみると回答されてる方が釣ってるいてDAI氏が釣られているようにも
見られるのですが、どうなのでしょう?

というのは、<a href="○○○.zip">○○○</a>という例が出てきたことからも、
現状はファイルへのリンクが並んでるだけのシステムなのでは無いでしょうか?
量が多いとの事ですので、検索やページングの機能ぐらいはあるかもしれませんが。
単純にダウンロードするだけとも言っていますし、こういった単純な構成であるという事は
想像に容易いように思われます。

こういった単純なもので、それ程致命的なセキュリティ上の穴などが存在するのでしょうか?
存在したとしたら、ASP.NETの部分というよりOSなどそういった部分になるのでは
ないでしょうか?
こういった事からも現状でのセキュリティを云々と言う事は特別触れる事でも無い気がします。
なのにあえてそういった部分でしか発言が出来ないのは、
技術面での頭でっかちな部分が出ているのか、釣りだと思うのですが?

また、SEとして相手に伝えられないのはマイナスとの書き込みがありました。
この意見、非常に納得しましたが、同時にSEとしては相手から何をしたいのかを聞き出し、
それをどうやったら実現できるのかを考える能力も必要なのではないでしょうか?
伝わってないとは言うが、相手から聞き出そうとはしたのか?
聞き出していないから伝わらないのではないでしょうか?
ならば、双方ともSEとしてはマイナスであり、どちらか一方がもう片方を批判する事は
できないのではないでしょうか?

※私自身は、こういった単純な構成のWeb画面でもセキュリティ上に
どういった問題があるのか、非常に関心があります。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-07-25 20:46
 なんか、やっと仕様の全容が見えてきた、って感じ。。。

 ここはあなたの会社内ではありません。ここに出入り…この掲示板を見たり書き込んだりしている人は、あなたの会社の人もいらっしゃるかもしれませんが、そうでない人の方が多いです。当然、私も、あなたの会社の人ではないし、ましてあなたと同じ仕事をしているわけでもありません。つまり、ここに書いてあること以外に、あなたや、そのまわりのことはわかりません。
 そして、私は開発前に決まっている“仕様”は、方向性を示すものであって、絶対的なものではないと思っています。なぜ絶対的なものではないかというと、技術的、能力的にできないことをさせようとしていたり、仕様と仕様の間に矛盾があったりするからです。つまり、仕様は“変えられるもの”(「られる」は can じゃない場合もある)だと思っています。
 これは仕様だけでなく要望も同じで、「お客様の要望なのだから絶対従わなければならない」のではないと考えています。お客様の要望を、順位付けして、背景技術、技術力、予算、期間という制約の下、より優先すべきものから順に仕様化していくものと考えます。
#####>>>>>
もっとも、これが技術者側の理想で、「要求仕様書に書いてあるんだから、何が何でもその通りに作れ」という無茶な客、技術的なことは何も考えずに仕事を取ってくる営業がいることは知っています。。。
#####<<<<<
 この2つより、いくらあなたが「こういう仕様なんです」とおっしゃっても、「自分たちの力量、技術的な背景に沿うように変えてしまえば?」というのが、私の意識にあります。このことが、かなり苛立たせているとは思いますが、それはお互い様(わかっていることは最初に書いてよ)ですので、ご容赦ください。


> 本題の件で私は
> >HTTPがTCP/IP上で提供されるとは限らない。
> >ASP.NETはTCP/IPベースで提供されている。
> >TCP/IPはUDPと違い投げっぱなしではない。
> という風に書き込みました。
 だから、勉強してください。ここに書き込む人の言うことが、すべて正しいとは限らないですよね。
 で、この書き込みで間違っているのは、『ASP.NET は TCP/IP ベースで提供されている』です。ASP.NET は、 HTTP ベースで提供されています。「ベース」っていうのがよくわかりませんので、HTTP を扱います、と言い直します。ASP.NET でコーディングするプログラムが扱えるのは、HTTP です。TCP を扱うのは、IIS あたりでしょう。
# HTTP の上に独自プロトコル、、、は無しで
 MSDN の『ASP.NET 設定スキーマ』というトピックの下、『<protocols> の <add> 要素』に、扱うことができるプロトコルが列挙されています。確認してください。
 @IT 内の記事、MSDN、GDNJ の記事をあたりましたが、プロトコルに関係したような記事は見つけられませんでした。しかし、先の設定スキーマ、扱えるクラスの名前から、TCP/IP は扱えない、と考えて間違いないでしょう。


 あと、4ページ目あたりの masa さんとのやりとりですが、私の方で確認したところ、小出しにして HttpResponse.IsClientConnected プロパティで確認しながらだと、キャンセルが拾える“かもしれません”。TCP のソケットにバッファリングされるため“書き出しができない”と TCP が止まってしまう模様。もちろん、HTTP と TCP は同期されていませんので、確実ではありません。


 今回のケースでは、掲示板で質問するのは背景が大きすぎるんですよね。で、それが説明し切れていない。説明されていないところは、読み手が各自の背景を元に勝手に補完するので、そこにズレが生じ、混乱が発生しています。また、私も、おっしゃっていることがだんだんと変化しているように思います。

 今のままですと、書いてはいけないことまで書いてしまったりする可能性があります。いったん間をおいて、まとめなおしませんか?聞きたいことだけ書き並べても、今回のように発散してしまいます。回答者の何人かが“お節介”なこともありますが、書かれていないことを勝手に補完するのは、誰しもそうでしょうから。あなたの背景、技術的な技量、今回の仕様の背景、仕様の全容と、優先順位、それらすべてを列挙していただかなければ、仕様に関する質問に答えるのはとても難しいです。
 暗に「システムの仕様をどうしたらいいか、なんて聞くな」といってます。すでに書いているのですが、読み取って頂けなかったようなので、直接的に書きます。もちろん、先に挙げたものをすべて列挙して頂けるなら、そうでもありません。が、その場合はコンサル料をいただきたいものです

 また、一郎 さんがおっしゃっていますが、この掲示板は情報交換の場です。一方的に質問するのではなく、質問されれば答えて頂きたいのです。もちろん、社外秘なものもについて、そうはいいません。しかし、一郎 さんの質問は、社外秘なことではないと思います。


 それと、面倒なのでここに書いてしまいますが、、、
引用:

これはどうにもなりません。
そもそも私が関わった頃からこういうシステムですし、
これは客側の仕事の進め方なので、経営者側の決定事項です。


えっと、何でしたっけ?「事件は会議室で起きているんじゃねぇ、現場で起きているんだ!」でしたっけ?現場と指揮系の違いは、よくあることです。
 まぁ、ここが切り崩し所だと思うんですね。ってか、ここをまず崩さないとイケないと思うんですね。
 で、私が疑問に思ったのが、これって「社内用システム」なんですかね?そうであるなら、社内のシステムに、なぜプロクシを通してアクセスするのでしょう?ということは、社外からもアクセスするシステムであると想像されます。
…ここも、書かれていないですよね。なので、これはここでやめます。はい、突っ込まれ所を示しました。こういう穴はできるだけ塞いで書いてください。

 元に戻して、経営側の意図が、現場の意図と合っていないわけです。タイムリーに、こんな記事がありました。
悲劇は喜劇より偉大か?:システム管理者が“暴君”になるとき
 システム管理者が、セキュリティの名の下、6文字以上、英数記号を使った、2週間毎に変更せねばならず、同じパスワードは2度と使えない、パスワードポリシーを設定します。運用上、無茶なので、紙に書いていたところ、その紙をなくしてしまう。最後にはみんながシステムを使うことをボイコットし、システム管理者は騒ぎの責任を取って自主退職する、と。
 どこまで本当かわかりませんが、このシステムと同じような危険があると、思うのです。
 例えば、「ダウンロードツールの同時接続数を1にしてください」と言えば、ある程度トラフィックが下がると思います。人件費(ソフトの改造費用)よりも、ハードの増設費用の方が安価ではないでしょうか。もちろん、そんなことしたら DAI さんの会社の仕事がなくなるわけで、論外な話でしょうけど


 えっと、がるがる さん!!がるさんのお客さんとの仕様の詰め方、披露してください!!もっとも、がるさんの方法の場合、腕を信用されているから可能なんでしょうけどね。

_________________
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-07-25 21:39
引用:

迦陵頻伽さんの書き込み (2005-07-25 20:06) より:
SE2年目の若造がこんな事を言っていいものか何なのですが・・・
普通に見てみると回答されてる方が釣ってるいてDAI氏が釣られているようにも
見られるのですが、どうなのでしょう?


 全容が語られていない以上、語られていない場所は勝手に補完されます。その、勝手に補完されているところで食い違いが発生しています。それは、こういう、ノンバーバルな場では避けようがないことです。
 それを避けるためには、すべての仕様をさらけ出す必要があります。しかし、社外秘な情報もあるでしょうから、全くさらすわけにはいきません。
 そこで、普通、こういう場で聞くときは、質問内容を局所化します。局所化すれば、その局所に関係する箇所だけさらせばいいからです。
 ところが、今回のケースは、仕様全体に関わる質問です。したがって、暗黙知がありすぎるのです。答える側は、自分が持っている知識の中で最良のものを提案しています。しかし、様々な制約で、最良を採用できないことがあります。その「制約」が明らかにされていないので、つっこまれている、と言うわけです。


引用:

こういった単純なもので、それ程致命的なセキュリティ上の穴などが存在するのでしょうか?
存在したとしたら、ASP.NETの部分というよりOSなどそういった部分になるのでは
ないでしょうか?
こういった事からも現状でのセキュリティを云々と言う事は特別触れる事でも無い気がします。
なのにあえてそういった部分でしか発言が出来ないのは、
技術面での頭でっかちな部分が出ているのか、釣りだと思うのですが?


 システムの複雑さと、セキュリティの穴は関係ありません。そんなことを言うと、家庭用のパソコンの大部分に、他者を攻撃するためのボットが仕掛けられています。これについては、四半期から半年ごとに、セキュリティベンダーから統計が出ていますから、それを参照してください。
 また、何度も書きますが、書かれていないことは勝手に補完されます。その場合、たいていは「していない」として補完されます。していないだろうから、しろ、と言われるわけです。それを「釣り」と言われるなら、そうでしょう。
 もっとも、やってなかったとして、回答者は困らないのですから、言う必要はないのですけどね。でも、たいていの場合、自分が困ったことになったから、他の人が困らないように、という思いから出ています。



引用:

また、SEとして相手に伝えられないのはマイナスとの書き込みがありました。
この意見、非常に納得しましたが、同時にSEとしては相手から何をしたいのかを聞き出し、
それをどうやったら実現できるのかを考える能力も必要なのではないでしょうか?
伝わってないとは言うが、相手から聞き出そうとはしたのか?
聞き出していないから伝わらないのではないでしょうか?


 ん〜?少なくとも、最初の投稿には書いていただけないと、わからないんですよね。で、わからないなりに、最大限補完して答えるのです。ただ、Web には即時性はありません。だって、みんなそれぞれの仕事の時間にやっているわけですから、仕事の合間に見て、書き込みしているわけですよね。だれも本来の仕事を止めたいと思わないでしょう?
 そうであるなら、わざわざ聞くのではなく、自分なりに補完して、答えます。そうするとこで、自分の時間と、相手の時間を節約しています。
 また、私のように、特定の時間帯しか書き込みできない人もいます。そうすると、聞くのではなく、最大限補完して、一気に書いてしまうわけです。
 確かに、両方のリソースを消費して一問一答できればいいのですが、それは、大変難しいでしょう。
_________________
迦陵頻伽
常連さん
会議室デビュー日: 2005/07/25
投稿数: 21
投稿日時: 2005-07-26 07:40
Jitta氏へ

おはようございます。
私のような者にも返信頂きありがたい次第です。

引用:
 全容が語られていない以上、語られていない場所は勝手に補完されます。その、勝手に補完されているところで食い違いが発生しています。それは、こういう、ノンバーバルな場では避けようがないことです。
 それを避けるためには、すべての仕様をさらけ出す必要があります。しかし、社外秘な情報もあるでしょうから、全くさらすわけにはいきません。
 そこで、普通、こういう場で聞くときは、質問内容を局所化します。局所化すれば、その局所に関係する箇所だけさらせばいいからです。



私が『釣り』などと言ったのは、結局、質問内容を局所化した結果が、
一番最初にDAI氏が質問として書かれた内容なのではないか?
という風に考えたからです。

Jitta氏の言うように全容が語られておらず勝手に補完すれば、
早い段階でDAI氏の書き込み内容から、私が先日書いたように
リンクの一覧だけが並ぶ単純な構成であろうという事は簡単に想像出来るのではないか?
しかしながら、出てくる話題はセキュリティ関連ばかりであり(私は興味あります)、
肝心な議題から話が外れている気がします。

引用:
 システムの複雑さと、セキュリティの穴は関係ありません。そんなことを言うと、家庭用のパソコンの大部分に、他者を攻撃するためのボットが仕掛けられています。これについては、四半期から半年ごとに、セキュリティベンダーから統計が出ていますから、それを参照してください。


なるほど。
言われてみればそうですね。

私も自分の言いたい事がまだ上手く伝えられないのですが、
私自身も今現在、勉強しながらWeb開発を行っております。
色々な書籍や雑誌、またインターネットの記事などでクロスサイトスクリプティングや
SQLインジェクションなどの危険性・対策などを読んだ事があります。
私が知りたかったのは、単純に<a href="リンク先ファイル名">ダウンロード</a>
といったリンクの羅列だけが表示されるような場合でも、
セキュリティ的になにか問題があるのだろうか?という疑問です。

私が現在携わっているシステムでも、管理者が管理画面からデータベースに登録した
リンク情報を『リンク集』として表示させています。
画面を要求すると、裏では単純にリンク集のテーブルを全件読み込み、
カテゴリ別に整理して表示させているだけです。
こういった画面でも何かセキュリティを気にしないといけないのかという事に
興味を持ちました。

※これから台風の中、出勤です><
小僧
大ベテラン
会議室デビュー日: 2005/06/24
投稿数: 122
投稿日時: 2005-07-26 09:11
おはようございます。
※ 地下鉄なので台風はへっちゃら(w
ちょっと気になった箇所だけ返信させて頂きます。

>リンクの一覧だけが並ぶ単純な構成であろうという事は
>簡単に想像出来るのではないか?
これが既に「補完」しているのではないでしょうか?
( いや、補完しているってご自分で発言しているのでいいのですが )
だって、本当に「リンクの一覧が並んでいるだけ」かどうかはわからないですよね?
だから、「DAI 氏が背景なり要件なりをきちんと書いて」と皆さんが言っているのでは?
と思いますが。。。
※ ちなみに、私はまったく想像がついていません。
DL 専用ツールがあるのであれば、リンク先一覧が書いてあるテキストだけがあって、
URL を直接入力する方法だっていいわけで。。。
( リンクが張ってあるページがあるとは限らない訳で。。。 )

>肝心な議題から話が外れている気がします。
そうですかね?
色々な意見が出ましたが「問題ない」「解決済み」「金と時間がない」と
一蹴してばかりな気がしましたが。

あと、「セキュリティの話は関係ないんじゃね?」みたいな発言もありますが、
単純にリンクを張ってそこから DL 、ではなく、
「IPアドレスをベースにセッションIDを作ると物騒」とか
「抜け道やら穴やらがたくさんあって「クラックもいとも簡単」」っていう意見があって、
「もっとセキュアな作りにしないとイカンよ」っていう風な話になっているんだと思いますが。
どうでしょうか?
( 個人的には面白い分野なので続けて欲しいのですが )


ちなみに、「釣り」って一般用語になっているのでしょうか?
某巨大掲示板専用の言葉かと思っていましたが。。。

<編集>
全体的にちょっと修正
</編集>

[ メッセージ編集済み 編集者: 小僧 編集日時 2005-07-26 09:15 ]

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