トップ回答者
サーバサイドでIPアドレス・ホストネーム・現在時間

質問
回答
-
だから、自分のまわしで相撲しようよ。。。どうして自分の言葉で説明しないのですか?
1~5、a~dでおっしゃる通りです。
違うでしょ?
サイト滞在時間は、広告をクリックしてサイトにアクセスした時間からサイトを離れるまでの時間です。
c は、www.contractor.ne.jp の滞在時間です。
あなたが言っているのは、www.sponsor.co.jp の滞在時間のようです。
これらは、同じものですか?他人に説明できないものを作ることはできません。あなたが作る「プログラム」とは、あなたがして欲しいことをコンピュータに説明することだから、です。ですから、自分の言葉で、具体的に説明してください。
広告を自分のサイトに掲載する人が、自分のIPアドレスを、不正に別のIPアドレスに偽装して、クリック数を稼ぐのを防ぎたいです。
意味が分かりません。「自分の IP アドレス」というのは、なんの、あるいは広告の配信元がどのようにして知り得た IP アドレスでしょうか?
自分のサイトに広告を載せてる人が、自分のサイトで不正した時
どのような不正ができると考えているのでしょうか?あるいは、どのような状態を「不正をしている」とするのでしょうか?
私は、blogs.wakuma.com で、広告配信の契約をしています。
広告配信元 deliver.advertisement が知っているアドレスは、 blogs.wankuma.com です。
私が使っている PC の IP アドレスは、192.168.100.101 です。
私は、blogs.wankuma.com にアクセスして、広告をクリックできますが、その行為は「自分のIPアドレスを、不正に別のIPアドレスに偽装」に該当するのでしょうか?
あるいは、blogs.wankuma.com にアクセスする時に「wankuma.com に通知されるアドレス」は、?.sannet.ne.jp です。
この状態は、「別のIPアドレスに偽装している」状態なのでしょうか?
「?.sannet.ne.jp」としたのは、実際に接続しないと、どのアドレスが使われるか分からないからです。
つまり、SANNET は、自社に割り当てられた限りのあるグローバル IPv4 アドレスを、接続状態にあるカスタマーに割り当てます。
カスタマーは、「接続を維持する」様に設定できますが、そうしていなければ、接続毎にグローバル アドレスが変わると予想されます。
この状態は、「別のIPアドレスに偽装している」状態なのでしょうか?
ところで、広告って、どのように差し挟んでいるか、観察済みでしょうか?2014年2月17日 13:06, 14:10 の投稿で、「リンク先」と書かれているのがとても気になっています。
たとえば、MSDN マガジンのページでは、右上に2つと、下、合計3つの広告があります。カーソルをポイントすると、ox-d.101m3.com へのリンクであると、ステータスに出ます。何度かリロードすると、数社の広告が出ますが、どれも ox-d.101m3.com へのリンクです。つまり、「広告のリンク先」は deliver.advertisement であって、広告の依頼元である sponser.co.jp=クリックした時に実際に表示される URL ではありません。
それと、滞在時間についてですが。。。Googole では、広告サービスと、アクセス解析サービスを提供していたと思います。アクセス解析サービスで「サイトの滞在時間」が出ますが、これは「広告サービス」とは別のものです。sponser.co.jp が、広告サービスだけでなく、アクセス解析サービスも受けていれば、アクセス解析サービスの側で滞在時間を計測できますが、広告サービスだけではできないと思います。
こういうところで、他の人と理解に隔たりがあると思います。
ですから、「自分の言葉で具体的に説明してください」と書いています。Jitta@わんくま同盟
- 回答としてマーク たけし 2014年2月21日 16:06
すべての返信
-
今の質問で提供されている情報の範囲内で答えると・・・
> これらを不正に書き換えられることはあり得るのでしょうか?
あり得ます。
> またそれをどうやって見分けたらいいでしょうか?事前に対策を取っておけば見分けられる可能性はあります。
・・・という程度しか回答できませんが、この内容では具体性がなくて役に立たないですよね。
何故具体性がないかといえば、質問に具体性がないからです。
質問者さんがどういう状況を想定しているかなど、この質問に至る背景などをもう少し詳しく書いてもらえると回答が得やすいと思います。
いろいろなケースを想定して、そのケースに沿った回答をしてくれる親切な回答者の方がおられるかもしれませんが、それに期待するのは、個人的には、好ましくないと思います。
-
広告のリンク先にアクセスした人のIPアドレス
TCP/IPレベルで偽装することで、無関係な第三者がリンクにアクセスしたかのように見せることは可能です。
質問に対する回答として可能性のレベルでの答えですが、実際にはIPアドレスを偽装するよりも第三者のPCを乗っ取りそこから実際にアクセスした方が簡単ですのであまり偽装されることはないかもしれません。リンク先のホスト名
どうやって取得するのでしょうか? その取得方法に穴があれば偽装されます。
その時間
何の時間(時刻)でしょうか? Webブラウザーの申告した時刻ということであれば何を持って正しいとするかがそもそも曖昧です。
ところでWebサーバー自身の時刻ではダメなのでしょうか? もちろんWebサーバー自身も乗っ取られていれば時刻も改変されますが、まぁそこまでされていたらどうしようもないほどの手遅れですから、可能性を考慮するよりも防御に力を注ぐべきです。以上3点について回答しましたが、結局のところ依然として「何の」が不明確であまり意味を成さない回答になっていると思います。
何にせよ、欺こうとする側は圧倒的に多数であり、スキルレベルも高いであろうことを想定すべきです。
- 編集済み 佐祐理 2014年2月17日 13:26 加筆しました
-
佐祐理さん、ありがとうございます。
「リンク先のホスト名」というのは、広告をクリックしたリンク先のURLです。そのURLを偽装されないように、ASP.NETのメソッドで取得できないでしょうか?
「その時間」というのは、広告をクリックした時間とほぼ同じになるはずの、広告のリンク先にアクセスした瞬間の時間です。リンク先にもJavaScriptを仕込んでもらいます。データベースでGetDate()でその時間を取得しても、不正に偽装されないでしょうか?
「何の」というのは、Google AdSenseのような広告配信のシステムをASP.NETで実装する際に不正をされないことです。
やはり素人では難しいでしょうか?
-
-
依然として状況が理解できませんが・・・
> 偽装・不正するのは(4)だと思います。
>
> それでデータベースのGetDate()は簡単に不正な偽装は無理でしょうか?上記の「データベースのGetDate()」が SQL Server の GETDATE ( ) のように (1) 広告配信サービス運営者が運用しているサーバー内で取得するものであれば、(4) サイトの閲覧者は偽装しようがないと思いますけど。
(4) が (1) のサーバーに進入して、データを書き換えるというようなことは考えないとしての話ですよ。そこまで考えるのは、また別の話になるはず。
-
リンク先の URL を偽装して、どうなるのでしょうか?リンクしたいところが表示されなければ、偽装の意味が無いと思いますけど?
いや、「クリックしていないけれどクリックしたように見せる」ということか?それにしても、佐佑理さんから回答済みか。
URL を、deliver.advertisement.com?id=pageID の様にすれば、リンク先にスクリプトを仕込んでもらう必要も、リンク先の時間を取得する必要もなくなりますよね。
というか、もっと具体的に考えましょうよ。「リンク先のホスト」とかいわず、このように、仮のアドレスを与えて考えてみましょうよ。
Jitta@わんくま同盟
-
SurferOnWwwさん、ありがとうございます。
サーバはWindows Azureのつもりですが、侵入までは考えていません。
Jittaさん、ありがとうございます。
Request.Uri.Hostでdeliver.advertisement.comを取得して、広告主のURLからスクリプトが実行されていることを確認したいんです。
時間はサイト滞在時間を取得したいからです。時間から、deliver.advertisement.comで実行されることもわかれば、正しいクリックだとわかると思ったからです。
Request.Uri.Hostでホストアドレスを不正に偽装されるでしょうか?
-
サーバー側で何をしたらブラウザー側でどう動くか、把握できてないよう見受けられます。たぶん質問者さんはHTTPに関する知識が圧倒的に不足していて、偽造される以前に、技術的に実現できないのではと思います。
そのため、質問者の発せられる言葉がいちいち不明確で質問たりえていません。
例えば「リンク先のホスト」はリンク先にしか伝わりません。つまりリンク先のホストが「(1) 広告配信サービス運営者」であれば(1) 広告配信サービス運営者に、「(2) 広告主」であれば(2) 広告主にです。自分自身へのリンクであれば偽造を防ぐ方法もあるでしょう。
逆に、「(2) 広告主」へのリンクがクリックされても(1) 広告配信サービス運営者には伝わりません。なんらかの方法を使用して取得する必要がありますし、その点については「その取得方法に穴があれば偽装されます」と回答しています。
もちろんJittaさんが提示されているようにリンク先のホストを(1) 広告配信サービス運営者にすることで問題は回避できますが、それではそもそも質問した意味がありません。「サイト滞在時間を取得」と書かれていますがこれまた、何をした時刻から何をした時刻までの時間かが不明確です。
fempさんへ:
「(3) 広告を表示するサイトの運営者」か「(4) サイトの閲覧者」かは些細な問題で、かつ、「(3)広告を表示するサイトの運営者がIPアドレスを偽装するよりも第三者のPCを乗っ取り(4) サイトの閲覧者のふりをしてそこから実際にアクセスした方が簡単」と回答済みです。 -
ひょっとして、対象となっているのは、
広告収入をHPの運営者に配布するようなサービス?
であれば、広告クリック主を確実に知りたいのは納得できますが。。。皆さんが知りたいのはそういうことですので、ちゃんと報告しましょう。
4W1Hとか5W2Hとか言われるやつ。
When Where Who What How
「いつ?」「どこに?」「だれと?」「なにを?」「どうやって?」ここでは仮に、
「広告収入をHPの運営者に配布するようなサービス」
だとしましょう。これを偽装することによって利益を得られるのは、
広告を載せている人ですね。
まぁ普通に考えて、そこら中から広告がクリックされたように見せかけた
いわけです。このケースでは同一人物によるクリックを完全に防ぐことは無理です。
1) 対象者が複数のプロバイダと契約しており、別接続からクリックされた
2) 公衆無線LANなどからクリックされた
3) 野良無線LANアクセスポイントを利用してクリックされた
4) プロキシを介してクリックされた
5) 他のPCを介してクリックされた
: (などなど)インターネットの世界はルータやプロキシによるアドレス変換があるし、
そもそもアドレスは人間に対してつくものじゃなく、ハード(機械)に対して
つくもの。そんな中で個人を比較的高い精度で特定できるのは、
1) パスワード認証
2) インターネット接続に使用しているPCのMACアドレス
:
ぐらいしかない。1) は広告掲載者には強制できても、広告クリック者には強制できない
2) は専用アプリを使ってアプリに報告してもらうとかしか手が無い上に、
ファイアーウォールに蹴られる可能性が大。そんなところでしょうか。
そうそう簡単かつ、比較的効果のある方法として、cookieがあった。
もちろんハード交換やcookie削除には効果無いけどね。
- 編集済み ぶなっぷ 2014年2月19日 0:43
-
自分のまわしを使いましょうよ。。。私は deliver.advertisement.com を、「広告(advertisement)配信(deliver)会社(commerce)」で、広告を配信する立場を表すものとして書いたのですが、あなたはそうではないようです。他の方には通じたようですが。思っているものに齟齬があれば、通じないですよね?
- deliver.advertisement.com が、広告を表示するウィジェットを提供します。
- www.contractor.ne.jp (広告配信の契約者)が、その広告ウィジェットを表示します。
- 広告ウィジェットに、www.sponsor.co.jp (広告の提供者)への広告リンクが表示されています。
- common.network.ne.jp (一般人)から、www.contractor.ne.jp にアクセスした人がいます。
- その人が、広告をクリックしました。
このときに、
a. 3 で広告ウィジェットが表示しているサイト www.sponsor.co.jp
b. 4~5 の時間間隔(ページでの滞在時間)
c. 他のリンクをクリックするなどで、ページから離れたこと
d. www.sponsor.co.jp の運営者が、自社広告をクリックしたこと
を、deliver.advertisement.com で取得する方法はありますか。
みたいな聞き方ができないかなぁ?
伝えなければ教えてもらえない、ということを、理解してください。
ですから、伝える努力をしてください。
どうすれば伝えられるかを学ぶために、他の人の質問にも目を通してください。
そして、答えてみようとしてください。
すると、どんな情報があれば答えられるか、分かってきます。
まぁ、「こういう風にまとめてから聞け」というと、「そんな時間は無い」って返ってくる場合が多いのだけれど、たとえばこのスレッドの場合、2月16日23時40分から始まっています。2日以上経過していますが、未だに質問の真意が伝わっていないように(上の中で、d が違っているように)思います。その「2日」という時間と、このようにまとめるための時間と、どちらが短くて済むでしょうか。
さて。。。やはり、誰が、なんの目的で、何を、どのように、不正に書き換えることがあると思われているのか、分かりません。それを具体的に説明してください。まぁ、「どのように」については、「書き換えることは可能か?」という問いなのかもしれないけど。
「deliver が、不正に書き換える」ということは、あり得ないでしょう。使ってもらえないことにもつながりますし。「common が」というのも、あまり考えられません。クリックを回避してリンク先を表示する、というようなことをしたい人がいるかもしれませんが、なんのうまみも無いと思います。という想像を、回答者にさせないでください。a については、deliver.advertisement は、「知らなければな話にならない」ですから、たとえばリンクを「www.deliver.advertisement?url=www.sponsor.co.jp」の様に、リンク先を自社にして、パラメーターを取り出すようにすれば、知ることができます。まさか、www.sponsor.co.jp としか書かれていないリンクを取ると思っていたとか?どの広告リンクを見ても、どこかのサーバーを経由して飛ばしていると思うのですが。。。
b については、contractor にウィジェットを仕込んでもらうのですから、ウィジェットが(common が contractor を表示しようとして)リクエストされた時刻をウィジェットに仕込み、先のように自社を経由するのですから、そのときの時刻と比較すれば、滞在時間とできるでしょう。document.unload イベントにも deliver.advertisement へのリクエストを仕込んでおくと、c が求められるかもしれません。
d は、まず無理だと思います。
Jitta@わんくま同盟
-
cookieを使うと何ができるかというと、
HTTPアクセスしてもらった際に、ブラウザに対して返されるパケットのHTTPヘッダ
に、好きなデータ(識別子)を含めることができるわけです。
で、再アクセスの際に、その識別子を返送してもらうわけです。あくまで、サーバーサイドで決めた識別子をそのまま返送してもらうだけの仕組み
であり、ユーザーのプライバシー情報は一切送信されません。
cookieは安全なものであり、ファイアーウォールで蹴られることもありません。なお、識別子はPCに保存されるのでIPアドレスが変わっても保持されます。
無効になるのはcookieを削除されたときです。なお、cookieはブラウザ毎の管理のはずなので、厳密にやるなら識別子とブラウザ
種の複合キーで管理する必要があります。技術的にはネットサーフィンすればいくらでも見つかると思います。
以下、一例。
http://www.futomi.com/lecture/cookie/ -
だから、自分のまわしで相撲しようよ。。。どうして自分の言葉で説明しないのですか?
1~5、a~dでおっしゃる通りです。
違うでしょ?
サイト滞在時間は、広告をクリックしてサイトにアクセスした時間からサイトを離れるまでの時間です。
c は、www.contractor.ne.jp の滞在時間です。
あなたが言っているのは、www.sponsor.co.jp の滞在時間のようです。
これらは、同じものですか?他人に説明できないものを作ることはできません。あなたが作る「プログラム」とは、あなたがして欲しいことをコンピュータに説明することだから、です。ですから、自分の言葉で、具体的に説明してください。
広告を自分のサイトに掲載する人が、自分のIPアドレスを、不正に別のIPアドレスに偽装して、クリック数を稼ぐのを防ぎたいです。
意味が分かりません。「自分の IP アドレス」というのは、なんの、あるいは広告の配信元がどのようにして知り得た IP アドレスでしょうか?
自分のサイトに広告を載せてる人が、自分のサイトで不正した時
どのような不正ができると考えているのでしょうか?あるいは、どのような状態を「不正をしている」とするのでしょうか?
私は、blogs.wakuma.com で、広告配信の契約をしています。
広告配信元 deliver.advertisement が知っているアドレスは、 blogs.wankuma.com です。
私が使っている PC の IP アドレスは、192.168.100.101 です。
私は、blogs.wankuma.com にアクセスして、広告をクリックできますが、その行為は「自分のIPアドレスを、不正に別のIPアドレスに偽装」に該当するのでしょうか?
あるいは、blogs.wankuma.com にアクセスする時に「wankuma.com に通知されるアドレス」は、?.sannet.ne.jp です。
この状態は、「別のIPアドレスに偽装している」状態なのでしょうか?
「?.sannet.ne.jp」としたのは、実際に接続しないと、どのアドレスが使われるか分からないからです。
つまり、SANNET は、自社に割り当てられた限りのあるグローバル IPv4 アドレスを、接続状態にあるカスタマーに割り当てます。
カスタマーは、「接続を維持する」様に設定できますが、そうしていなければ、接続毎にグローバル アドレスが変わると予想されます。
この状態は、「別のIPアドレスに偽装している」状態なのでしょうか?
ところで、広告って、どのように差し挟んでいるか、観察済みでしょうか?2014年2月17日 13:06, 14:10 の投稿で、「リンク先」と書かれているのがとても気になっています。
たとえば、MSDN マガジンのページでは、右上に2つと、下、合計3つの広告があります。カーソルをポイントすると、ox-d.101m3.com へのリンクであると、ステータスに出ます。何度かリロードすると、数社の広告が出ますが、どれも ox-d.101m3.com へのリンクです。つまり、「広告のリンク先」は deliver.advertisement であって、広告の依頼元である sponser.co.jp=クリックした時に実際に表示される URL ではありません。
それと、滞在時間についてですが。。。Googole では、広告サービスと、アクセス解析サービスを提供していたと思います。アクセス解析サービスで「サイトの滞在時間」が出ますが、これは「広告サービス」とは別のものです。sponser.co.jp が、広告サービスだけでなく、アクセス解析サービスも受けていれば、アクセス解析サービスの側で滞在時間を計測できますが、広告サービスだけではできないと思います。
こういうところで、他の人と理解に隔たりがあると思います。
ですから、「自分の言葉で具体的に説明してください」と書いています。Jitta@わんくま同盟
- 回答としてマーク たけし 2014年2月21日 16:06
-
表題および最初の質問に対しては答えは出ていると思うのですが、であれば、役に立った回答にチェックマークをつけて、このスレッドは閉じていただけないでしょうか?
最初の質問とは別の質問があれば、別に新たにスレッドを立てて質問していただくのがよいと思います。
ただし、引き続き広告配信サービスに関して別の質問をするなら、まず Web アプリに関する基本的な知識を勉強し(少なくとも掲示板で話が通じる程度には)、Google AdSense など既存のサービスがどのようなシステムになっているかよく調べて、それを参考にご自分が提供しようとしているサービスをどのように実装するか明確なアイデアを持ってからにしていただくようお願いします。
もし、質問者さんにとって最初の質問の答えがまだ出ていないなら、回答者の回答をどこまで理解できていて、どこからが分からないのか明確に書いていただくようお願いします。くどいようですが、あくまで表題の質問の範囲でお願いします。
現状、暗中模索という状態で、最初の質問に対する回答が次の別の疑問を生んで、次から次へとわからないことが出てくるたびに質問しているという感じです。
それでは収拾がつかないどころか発散するばかりです。
ここは、質問者さんのための Q&A サイトではなく、開発者同士の情報共有の場と思っていただけると幸いです。