• ベストアンサー

フレームで呼び出されるのを拒否したい

最近私のサイトのページが、全く知らない人のサイト内に表示されていて困っています ソースを覗いてみるとどうやらフレームで私のページを呼び出して表示させているみたいなのですが 少し大きめのファイルを置いているページですし、何より知らない人のサイトに表示されているのはあまり気分のいいものではないので、フレームで呼び出されるのを拒否する方法があるのなら教えてください 一応自分で調べたところFRMRというものがフレーム拒否ということはわかりましたが、当方HTMLのタグにあまり詳しくないため どの部分にどのように記述すればいいのかわかりません わかる方いらっしゃいましたら教えてください ちなみに自分のサイトではフレームは全く使用していないので、フレームが全く使えなくなってもかまいません どうぞよろしくお願いします

  • HTML
  • 回答数4
  • ありがとう数5

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

  • ベストアンサー
  • dezimac
  • ベストアンサー率56% (2365/4208)
回答No.4

フレーム内に表示されるのを防ぐだけじゃなくて、完全に拒絶したいということでしたか。 先程のJavaScriptを少しだけ弄ればそれも可能です。 if (top != self) { top.location.href = self.location.href } これは、一番上のフレーム(top)が自分(self)でなければ 一番上のフレームのURL(top.location.href)を自分(self.location.href)にしろという意味です。 top.location.href = self.location.href この部分を次のように書き換えればいいだけです。 ・フレームを破棄する場合 top.location.href = "error.html" ・フレームをそのままにする場合 location.href = "error.html" フレーム内で呼び出さないでという主旨のメッセージでも書いたHTMLファイル(error.html)を作っておいてそれを呼び出すようにすればいいだけです。 error.htmlには閲覧者の事考えれば、フレーム使っているページとは関係ありませんとかのメッセージとともに、 <a href="○○.html" target="_top">こちらから</a> とリンク貼っておく方がいいかも。 #2の回答にあるように、JavaScriptはブラウザで無効にされていると動きませんが、無効にしている場合は稀です。 無効時の対策としては<body>~</body>の間に次の一文入れておくとか。 これは気休め程度です。 <noscript>JavaScritp無効の時にのみ表示されるメッセージ</noscript> URLを変えるのも一つの手ではありますが、その場合はフレーム利用していない他のリンクも切れてしまうという重大な欠点があります。 その人達全員に連絡して書き換えてもらうのも難しいでしょうし。 少し高度なのだと「.htaccess」というのを使って、特定のURLからのリンクを排除するといのもできますが、サーバが.htaccessの設置を許可している必要があります。 http://www.shtml.jp/htaccess/ http://www.htaccesseditor.com/#a_access 注意書きとしてフレーム内での表示をしないようにと柔らかく書いておく事はいいですが、見つけ次第通報するといったような事は書かない方がいいと思います。変な反感を買ったり、普通にリンク貼ろうとしている人も畏縮させる事になる可能性もありますから。

niyora
質問者

お礼

二度目の回答と詳しい説明をしていただきありがとうございます フレームで表示してくるサイトはほとんどが海外のサイトで今までは.htaccessで拒否していたのですが、最近急増して対応しきれなくなってきたのです。 この方法だと最初に書いておけばよさそうなので利用させていただきますね ありがとうございました

その他の回答 (3)

noname#77303
noname#77303
回答No.3

こんにちは。 僕もJavascriptの使用を薦めたいと思います。 しかし、無理矢理自分のトップページに飛ばすのではなく、トップページにリンクを張った警告用のページを作り、そこに飛ばします。 一手間かかって面倒ですが、飛ばされる側も突然トップページが表示されるよりは不快にならないでしょうし、作る側も未然に阻止する事ができるので、ある程度役に立つと思います。 <script type="text/javascript"> if (top != self) { top.location.href="警告用URL"; } </script> 警告用ページURLを「"about:blank"」にすると、空白ページが表示され、自分のサイトを表示しなくなります。 これが、未然に阻止する第一手段。 これを破られるようだったら、URLを変えます。 これが、事後に対処する第二手段。 Javascriptを無効にすることで回避されてしまいますが、その際はURLを変更するという、二段構えにします。 あと、変な事も考えていたので参考に・・・(ならない^^;) ・肝心な部分をJavascriptで表示して、javascriptを無効にする回避をさせない ・ページ全体を<div id="xx">で囲んで、javascriptが無効な場合はCSSで非表示にする(苦笑)

niyora
質問者

お礼

回答ありがとうございます 警告ページを作ってそこに飛ばすこともできるのですね さっそくこの方法を使わせていただきます javascriptが無効の場合の対策まで考えていただいて本当にありがとうございます

  • pick52
  • ベストアンサー率35% (166/466)
回答No.2

取り敢えず、URLを変えるのがいいのではないかと思います。 JavaScriptはブラウザ側が対応していなかったり無効にしていると 動作しませんし。 それより、まったく無関係の他人のページをフレームで埋め込むのは ウェブ上でマナー違反ですのでサイト管理者またはサーバ管理者に 連絡して対応して貰ってください。 完全に駆逐することができないというのが難点ですけど...。 発見し次第、通報するというようなことを書いておけばむやみに 取り込む人はいなくなると思います。

niyora
質問者

お礼

回答ありがとうございます そのページはたくさんの方にリンクしていただいているので できればURLを変更したくないと思い相談させてもらっています フレーム埋め込みをしているサイトは私が確認しただけでも ハンガリー、中国、韓国、ロシア、など色んな国ですので管理者に連絡という方法もなかなかできないでおります 技術的に無理だった場合はURLの変更を利用させていただきますね

  • dezimac
  • ベストアンサー率56% (2365/4208)
回答No.1

以下のページで紹介されているフレームバスター(JavaScript)を組み込んで下さい。 http://www2.plala.or.jp/Cool/okite/red06.html <head>~</head>の間なら何処でもいいから、次のコードをコピー&ペーストするだけです。 <script language="JavaScript"> <!-- if (top != self) { top.location.href =self.location.href } //--> </script> > FRMRというものがフレーム拒否と 残念ながら、これはウェブサイト(HTML)のフレームとは全くの別物で全く関係ありません。

参考URL:
http://www2.plala.or.jp/Cool/okite/red06.html
niyora
質問者

お礼

回答ありがとうございます さきほど試してみましたが、これは強制的に自分のページにしてしまうというものみたいですね こういったページからは全く表示できないようにしたいのですが、無理だったらこの方法を使わせていただきますね FRMRは違うものだったのですね こちらも教えていただきありがとうございます

関連するQ&A

  • ソースの見えるフレームは擬似フレームですか?

    HTMLを勉強しているので、 暇があると色々なページのソースを見ています。 そこで気づいたのですが フレームページはソースを表示させると 大元のフレームソースしか表示されませんよね? でも一見、フレームのような作りでも 普通にメイン画面のソースが表示されるページも あるようです。メニュー側でソース表示すると そちらもきちんと見えます。 例えば・・・ http://www.solon-saga.jp/ ソースにJavaScriptの記述がありますが、 こうしたページは擬似フレームになるのですか? それともindex.htmなどをフレームにしてページをいれ、 通常どおりフレームセットを作りながら何かの方法で 普通にソースを表示させる方法などがあるのですか? DynamicHTMLやスタイルシートなどもチラッと 調べてみたのですがいまいち判りません。 よろしくお願いします。

  • フレームのラインの消し方

    左フレームにメニューが表示され、右に選択した項目のページが表示されるようになっておりますが、左フレームはスクロールバーは出るほど項目がないのでフレームの境目のラインをなくしたいと思っております。現在ホームページビルダー(6.5)で作成しておりますが、いろいろ試した結果できませんでした。このソフトで出来るやり方があったら教えて欲しいのですが、方法がないようでしたらHTMLでも結構です。 ソースの方は初心者なので、どの部分にどんなタグとかを入れればよいか教えていただけると助かります。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • フレームの際のHTMLタグ表示について

    ホームページを新たにフレーム式に作成しました。 ページの表示には問題が無いのですが、 何故か、右側のメインのページのHTMLタグがソースで すべて表示されています。 通常フレームの場合のタグは見えなくなりますよね。 (御覧になるにはフレームが読み込めるブラウザーが必要です・・・とかの表示で) OSはウインドウズME ブラウザーはIE5.5 ホームページビルダーによって作成しました。 普通のフレームのページのようにタグが見えないように したいのですが、何が間違えているのか、問題なのか わかれば、是非お教えください。よろしくお願いします。

    • ベストアンサー
    • HTML
  • フレーム内リンク→フレーム外リンクにするには?

    あるサイトの検索機能を職場のホームぺージに組み込みました。それ自体は許可されているのですが、フレーム内のリンクは許可されていません。 ところがわたしのホームページは2フレームに分け、左側が目次、右側にページが表示されるというよくあるパターンです。目次の「リンク集」をクリックすると右フレーム内に検索機能のページが表示されるのですが、検索結果が表示されるのも同一の右のフレーム内になってしまいます。これでは違反になってしまうので、検索結果を新しいページに表示させたいのです。 検索用のタグは「ヤフーキッズ」から配布されているものを自分のホームページのソース内にコピーしました。作成はホームページビルダー8です。タグについてはほとんど分かりません。 できましたら初心者なみに教えていただけると助かります。

  • フレーム機能を使わないのはなぜですか?

    サイトで、メニューやそのサイトのタイトルはほぼ変化がない箇所ですよね?そういう場合はフレーム機能があったほうが、常にそれらが表示されているので有効だと思ってました。 がデザイン性に優れたサイトでフレームを使用していない所も多々あります。ソースを見ると全てのページに同じメニューやタイトルのタグを表示しています。 どうしてなのでしょうか? 今サイトをリニューアルしようと思ってるのですが、フレームを使うべきか迷っています。 是非教えてください。お願いします!!(><)

  • htmlのフレームについて

    メモ帳からホームページをつくっています 二分割フレームを作っていて、それぞれ frame.html framelight.html framemigi というふうに保存しています 一応分割するためのページには <Html> <Head> <Title>フレームのページ</Title> </Head> <Frameset cols="150,*"> <Frame name="hidari" src="1.html"> <Frame name="migi" src="2.html"> </Frameset> <Noframes> フレーム未対応ブラウザへ表示される部分。 </Noframes> </Html> をコピペして作ってあります    src= のところは変えてあります パソコン内からframe.htmlを開くと分割されたものしか出ません そうゆうものなのでしょうか

  • フレーム内に画像を表示する際、画像をフレームサイズに合わせたい。

    Webページで、フレームを使ってるんですが、フレーム内に表示する画像のサイズがマチマチで(画像の元サイズがとても大きかったりして)見栄えが良くありません。 main.htmlというソースを置いて、そこからタイトル表示用HTMLと画像リスト用HTMLをフレーム内に表示。 画像リスト用HTMLからAタグで画像表示用フレームに画像を表示するよう記述。 単にこれだけだと、ブラウザごとに画像サイズがフレーム内に収まるよう調整されたり、されなかったりなんですよ。 どうにか、強制的にフレーム内に表示させるようにする方法を教えてください。 ------------------------------------------------- main.htmlの抜粋↓ ------------------------------------------------- <frameset rows="50,*"> <form name="frm1"> <frame src="title.html" name="ue"> <frameset cols="187,*"> <frame src="list.html" name="hidari"> <frame src="./img/1.jpg" name="migi"> </frameset> </form> </frameset> ------------------------------------------------- list.htmlの抜粋↓ ------------------------------------------------- <a href="img/2.jpg" target="migi">19</a>

  • フレームが消えません

     お金がナイのでビルダーとか使わないで手打ちでHP作っています。  フレームを使ったページを作りたくて、HTML支援サイトからコピペでフレームを使ったページを作りましたが、No.528543の質問のタグやNo.533398の質問にあった<body bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> も使ってみましたがどうにもこうにも消えてくれません。 他にもテーブルタグをサイトからコピー&ペーストで、ボーダーが線のテーブルを作ってもボーダーが線になりませんでした。(こちらの質問は関係あるかと思って一応書いてみました) どうやったら消えてくれるでしょうか? 解決に助言をお願いします。

    • ベストアンサー
    • HTML
  • Dreamweaverでフレームを使ったページを!?

    DreamweaverCS3でフレームを使ったページを作成しています。 いただいたHTMLをベースにしているのですが、 各フレームのHTMLをまとめるHTML(?)をDreamweaverで開くと、そのHTMLのソースコードが表示されず、 デザインビューで指定した「各フレームのHTML」のみが表示されます。 なのでこの「まとめHTML」の編集がDreamweaverでは出来ず、現在はテキストエディタで編集している状態です。 「まとめHTML」のDreamweaverでのソースコードの表示の仕方を教えてください。 お願いします。

  • flashで制作したボタンとmetaとフレーム

    上下に分けたフレームで 上をFlashを用いたボタンを用いて下にhtmlが表示されるようにしています。 それぞれflashの方には検索メタデータを埋め込み、 htmlにはそれぞれmetaタグを付けているのですが frame用のhtmlにはmetaタグを記述してよいものなのでしょうか? とあるサイトで 「ページ内に存在しないキーワードを記述しないこと」という注意が書いてあったのですが、frameの場合どうなっているのでしょうか? 分かりにくい質問であれば補足させていただきます。 よろしくお願いします

    • ベストアンサー
    • HTML

専門家に質問してみよう