• 締切済み

CGI用直リンク防止プログラムについて(トップがフレームでCGI表示の場合)

質問させて頂きます。 二分割のフレーム構成でのサイトですが、左にメニュー、そして右にCGIを表示させています。(index.htmはフレームなしの一枚ペラで、そこをクリックするとコンテンツのフレームページ、cont.htmにいくようになっています) CGIには直リンクを防止する為、KEEPOUT(http://cgiroom.nu/list/level_up/keepout/readme.htm)という直リンク防止CGIを仕込んであるのですが、フレーム構成でいきなりCGIを表示させている為か、index.htmからcont.htmという正規ルートを辿っても、直リンクだと判断されてindex.htmに戻されてしまうのです。 それでフレームという概念をぼかす為にCGIの前にrefresh.htmを設けて、カウント0で瞬時にCGIに行くようにしたところ、ある程度のバージョンのIEなら弾かれなくなりましたが、IE5.1以下はやはりindexに戻ってしまいます。現在は6か7が主流なので別にいいかとも思ったのですが、クラシックMacのユーザーは5.1を使っている方がまだ割といらっしゃると聞いたので、どうにか5.1でも弾かれないようにしたいのです。 どなたかお知恵を貸して頂けないでしょうか。宜しくお願い致します。(ちなみにネスケでは全部弾かれますが、諦めています)

  • CGI
  • 回答数1
  • ありがとう数0

みんなの回答

  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.1

回答としては的外れかも知れませんがご容赦。 そうしている(この場合、CGIへの直リンク防止)目的は何ですか? 直リンクによってフレームが構成されない、またはフレームが解除される、というのを防ぐのが目的なら javascript を使えばカンタンです。

mintia009
質問者

補足

お返事ありがとうございます。 目的は直リンクされる事によってレイアウトが崩れるのを防ぐ為です。 ちなみに他のhtmファイルにはJavascript(リファラー)で直リンクされないようにしていますが、CGIでは同じJavascriptを使っても上手くいかなかったので、KEEPOUTを使っているのです。(テンプレートのhtmに組み込むと誤作動します) CGIに組み込めるJavascriptでいいものがあればベターなのですが… 多分KEEPOUTでもJavascriptでも、このCGIがトップにあり、且つフレームに組み込まれているのがネックだと思います。

関連するQ&A

  • 直リンクされた場合のフレームセットのリンクを変更したい

    フレームセットを利用していると直リンクされると、レイアウトが崩れて嫌なので普段は <body onLoad="if (top == self) { location.replace('index.html') };"> このタグで強制的にフレームセットのページであるindex.htmlにリロードしています。 でも、この場合だとindex.htmlにフレーム設定をしているA.htmlとB.htmlしか表示できません。 これを、直リンクされた場合に強制的にindex.htmlに飛んで、さらにフレームセットのページをA.htmlとC.html(直リンクされたページ)に変更させたいのです。 なんとなくJavaScriptで出来るかな思いましたが、CGIでも構いませんので、よろしくお願いします。

  • フレームセットのリンクを変更するCGI

    フレームセットを利用していると直リンクされると、レイアウトが崩れて嫌なので普段はJavaScriptで <body onLoad="if (top == self) { location.replace('index.html') };"> このタグで強制的にフレームセットのページであるindex.htmlにリロードしています。 でも、この場合だとindex.htmlにフレーム設定をしているA.htmlとB.htmlしか表示できません。 これを、直リンクされた場合に強制的にindex.htmlに飛んで、さらにフレームセットのページをA.htmlとC.html(直リンクされたページ)に変更させたいのです。 index.htmlを表示させた後、C.html(直リンクされたページ)のアドレスを取得してフレームセットを書き直すCGIなのだと思いますが、このようなCGIのフリーなどありましたら教えてください。 JavaScriptとCGIの混合技らしいので、JavaScriptカテゴリにも書き込んでおります。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=745359

    • ベストアンサー
    • CGI
  • フレーム内直リンの際に、フレームを付けて表示

    フレーム内のアドレスに直リンされたときに、フレームを表示してその中に表示させるという方法を検討しています。 具体的には、index.htmlというページがあり、その中に、top.htmlが入っていて、menu.html、main.html、という二つのフレーム(ifream)が入っています。 menu内リンクを選択することで、mainの中が変化するというページです。 このときmainのフレームに直リンされると、メニューが表示されず、困ったことになってしまいます。 もちろん、その直リンページの中に、「フレームページですのでトップから入りなおしてください」と促せば、できないことはないのですが、それらを自動で判断させ行いたいです。 考えとしてはリンク元が自サイトのアドレス以外だった場合は、条件判断によりindex.htmlを表示させ、menu.htmlの中に直リンしてきたファイルを表示させればいいと思うのですが、具体的にどのようにすればいいのか分かりません。 何か良い方法・アイデア等ありましたらご教授お願いします。

    • ベストアンサー
    • CSS
  • CGIへの直リンク防止方法について

    CGIへの直リンクの防止方法について質問です. MacOS X でWEBサーバーを構築しています.httpdはapacheです. 現在,http://www.aaa.jp/bbb/ccc.htmlからhttp://www.aaa.jp/cgi-bin/ccc.cgiへリンクさせています.ccc.htmlへは.htaccessを用いてパスワードによるアクセス制限を行っております. 今の設定ですと,cgiファイルへ直接リンクできてしまいます.そこで,直接リンクを防止するために,apache内に <Directory /library/var/cgi-bin> SetEnvIf Referer "^http://www\.aaa\.jp/ ref_ok order deny,allow deny from all allow from env=ref_ok </Directory> という記述をしました.しかしこの記述を加えるとcgiを実行できなくなってしまいます.cgi-biフォルダ内の.htaccessを有効にして,.htaccessで記述してもうまくいきません. この記述はhttp://www.shtml.jp/htaccess/referer.htmlを参考にしました. どこがおかしいところはありますでしょうか. ご教授お願いします.

  • 直リンクの防止

    毎日更新している自分の画像を、掲示板サイトや直リンクサイトで「画像url」で書かれてしまった場合に対する対処策で悩んでます。 -------------------------------------------- 例 http://www.○○○.com/koshin/mainiti6-26.jpg -------------------------------------------- 画像リンクのクリックを、トップページに転送することはできないのでしょうか。 防止策のあるcgiとかがあれば紹介してほしいです><

    • ベストアンサー
    • CGI
  • CGIへの直リンク制限

    CGIでページを表示していますが、 直リンクを制限するためにこのサイト ( http://cgiroom.nu/ )のKEEP OUTというプログラムを 使用したいのですが、ダウンロードができないようです。 ダウンロード先が分かる方はいらっしゃいますか? 又このプログラムと同じ機能(CGIへの直リンク制限)の プログラムをご存知の方はいらっしゃいますか?

  • 直リンクを防止したいのですが?

     私のページは、基本的にはリンクフリーなので仕方がないと言えばそれまでなんですが、あまりに個別ページへの直リンクが多いので、初めて各ページに直接来た場合はトップページに来るようにして二度目からなら直リンクでもOKみたいな事はできますか?  当然トップページ(フレームです)から呼んだ場合は、初めてでもそのまま表示できるようにしたいのですが。 以前他の方のページで似た機能を見たのですが、色々探したのですがみつかりません。 同様な機能を解説しているページのアドレスだけでも結構です。 よろしくお願いいたします。

  • トップページへのリンクを押すと戻るボタンの履歴が消えます

    webページを作成しています.いま最後の仕上げの段階で,htmlをちょこちょこいじってます.(WinXP home SP2) フレームを使ってまして,左にメニューを右に内容を表示させるような構造になっています. index.htm にフレームpane1 とpane 2 を設け. pane1 に menu.htm を, pane2 にいろいろな htm ファイルを割り当てます. index.htm をクリックすると左フレームにmenuが,右フレームにTop.htmが最初に表示されます. 右側に来る内容の各ページに index.htm へのリンクを張りました.ところがブラウザでフレームが表示されている状態でこのリンクを押すと,戻るボタンの履歴が消えてしまうんです. 戻るボタンの履歴の最後は,フレームが表示される直前のページになり,それ以後トップページへのリンクが押されるまで,フレームが表示された状態で行き来した履歴が消失してしまいます. トップへのリンクを押すまでは戻るボタンはちゃんと使えるんですけど・・・ 別に新しいウィンドウで表示しているわけではありません.リンクのターゲットは_parent と_Topで試してみましたが両方とも同じ結果です. ブラウザはIE6とOPERA7を使いましたが,両方とも反応は同じでした.

  • 直リンクするとトップページに飛ばす方法

    フレームで構成したベー時の片側に直リンクするとフレーム全体に移行する方法。またはトップページに飛ばす簡単な方法はないでしょうか。 たとえば下記exciteの中国語約のページですが下段に直リンクすると全体に移行します。このような方法を探しています。 http://www.excite.co.jp/world/chinese/web/

    • ベストアンサー
    • HTML
  • フレームへのリンク

    フレームのあるページへリンクを貼りたいのですが、 たいていリンクを貼るとトップページですよね、それをリンクで飛んできたときに違うページにしたいのですが可能ですか。 たいていは index.htmlの中に <IFRAME src="00.html" name="000"></IFRAME> となっていたときindexに飛ぶと フレームには00.htmlが見えますよね。 そうではなく01.htmlを最初から見せる方法はあるのですか。 普通に来た方には00.html サイト内のリンクの場合01.htmとしたいです。