- ベストアンサー
特定のURLからの訪問をブロックする方法を教えてください
2ちゃんねるのhttp://ime.nu/****というURLから 自分のサイトに飛んでくるアクセスをブロックする方法はありますか? http://ime.nu/に限らず、指定することは可能でしょうか? ご教示お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
なぜスレが付かないか? それはあまりにも質問が唐突だからです。 どのレベルの人か分かりませんので、入り口だけ示します。 まず、サーバーサイドスクリプトで行う方法と、クライアントサイドスクリプトで行う方法とありますね。 この言葉が分からなければ、まずその辺から勉強しましょう。 サーバーサイドではWebサーバーから渡される変数に格納されているので、そのWebサーバーが何で、あなたが、何の言語(Peal, ASP, Jsp, etc)を使うかで違います。その変数に格納されているURLを、文字列操作の関数で、文字検索関数や、正規表現を使って、キーワードを検知するかして、分岐するようにします。 その変数は、Webサーバーで決まりますので、そのサーバーの参考書又は言語の参考書にもサーバー情報として、記載されていますので、ネットで検索してください。 このサーバーサイドの強みは、クライアント側にダウンロードする前に違うURLを渡すので、クライアント側で、履歴に残らない事です。つまり、クライアント側で完全にURLを追跡できません。また、クライアントのブラウザに依存しませんので、確実に実行される事になります。 例を示します。 ASP(サーバーサイトスクリプト)を使う場合。 lsURL = Request.QueryString("URL") ' 応答を消去し、URL にリダイレクトします Response.Clear() Response.Redirect(lsURL) このQueryString("URL")でどのURLから飛んできたかURLを取得しています。 Requestが、サーバーオブジェクトになります(サーバーに対するリクエストするオブジェクト)。 クライアントスクリプトもやり方は同じです。JavaScriptであればリファレンスサイトを探して、それで見てください。 例を示します。 http://www.htmq.com/js/index.shtml 最初オブジェクトを理解しましょう。それで、それに階層があることを理解しましょう。 これがオブジェクト指向プログラミングの入り口です。 そこから話が始まってしまうので、どこから説明したらいいのやら、みなさんが気後れしてしまいますよね。 で、そのオブジェクトにアクセスするための言語はたくさん在りますが、ここではJavaScriptで進めます。 http://www.htmq.com/js/index.shtml#js_location にあるようにWindowsオブジェクトの下にlocationプロパティがありますね。ここにロケーションが格納されています。とすれば、現在のURLを取得できるわけですから、後は前述のように検知して、好きなURLに飛ばせばいいわけです。これはHTML分のHEAD部分でやらないと意味ないですね。 http://www.htmq.com/js/document_url.shtml でもいいですね。 これらの事は、基本中の基本なので、DOM&JavaScriptを2、3時間勉強すれば分かると思います。 DOM=Document Object Model (HTMLを操作する上の基本ですので、本でもいいしネットで必ず勉強してください)
お礼
bakakyatapさま 無知な私に教えてくださりありがとうございます。 私も私の知っていることの範囲で 困っている人を助けたいと思いました。 bakakyatapさんにいい影響を受けました。 ありがとうございました。