自サイト内に他サイトを表示する方法について

このQ&Aのポイント
  • 自分のサイト内で他のサイトを表示する方法について調べています。どのような仕組みで表示できるのかわかりません。
  • CGI(Perl)やPHPを使用して他のサイトを自分のサイト内で表示することができるようです。
  • この方法を利用すると、自分のサイト上で他のサイトのコンテンツを表示することができます。
回答を見る
  • ベストアンサー

PHPカテでは無いかもしれません。他サイトを自分のサイト内で表示させる方法について!

度々お世話になっております。 あのうですね・・・。 http://a.jp と言うサイトとhttp://b.jpと言うサイトがあったとします。 不思議な事に、http://b.jpと言うサイトにアクセスしなくてもhttp://a.jpと言うサイト上でhttp://b.jpを表示しているサイトがありました。 つまりサイト丸ごとインクルードしていると言うかなんというか・・・。 これはどうゆうような仕組みなのでしょう・・。 ちょっとcgi(peal)のファイルを調達しましてタグを見てみたんですけどぐちゃぐちゃで分かりませんでした。 ちなみにphpでも出来るようです。

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

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

  • ベストアンサー
回答No.4

iinnffooさんは、少々、売り言葉を買いすぎです。 その為につく解答が荒っぽくなってしまっているように思います。 さておき、ご質問の回答ですが、 「トラチェン(トラフィックチェンジ)」を存じなかったので少し調べてみましたが、登録してみないとその実体は良くわからないようで。 とりあえず、 >不思議な事に、​http://b.jp​と言うサイトにアクセスしなくても​http://a.jp​と言うサイト上で​http://b.jp​を表示しているサイトがありました。 この件から判断することとします。 つまり、サイトB(http://b.jp)のほうで、一度サイトA(http://a.jp)のHTMLの内容をぶんどって来きて文字列として取得してそのまま(又は加工して)echoを返すという仕組みですかね。 PHPにおいて最も簡単な方法は、「file_get_contents()」関数を使う方法です。 $html = file_get_contents('http://a.jp'); と記述してやれば、aのサイトの該当ページのHTMLを取得できます。 仕組みは、つまりブラウザが行っていることと一緒で、 HTTPヘッダ情報を該当サイトに投げかけてやって、応答を得る、というものです。 特別なHTTPヘッダを投げなければならない場合は、「fsock_open」という関数か「stream_socket_client」という関数を利用する必要があります。 詳しい方法は適当に関数名で検索してみてください。fsock_openに関してはPHPの公式マニュアルのユーザ投稿欄に色々な使い方等々乗ってます。

iinnffoo
質問者

お礼

こんにちわっ! hogehoge78さんいつもお世話になっております。 >>$html = file_get_contents('​http://a.jp');​ ェェェぇぇーっ! これだけで出来るなんて・・・。超びっくりでした。 >>HTTPヘッダ情報を該当サイトに投げかけてやって、応答を得る と言う事だったんですね・・・。 何かしらファイルを開いたりそのソースをサイトに表示するのかなとか色々考えたり調べたりしたんですけど自分には分かりませんでした。 とても参考になりました。 二年前くらいからずっと不思議に思っていたことでした。 いつもためになるご回答いただきありがとうございます。 また1つ成長できました。 売り言葉を買わないように気をつけたいと思います。 ご迷惑かけてしまいすみませんでした。 hogehoge78さん!ありがとうございますっ!(*^-^*)

その他の回答 (3)

  • sinh
  • ベストアンサー率0% (0/1)
回答No.3

http://a.jphttp://b.jpが全く同じというならDNSでa.jpもb.jpも同じサーバに向ければいい。 PHPですべきことじゃないと思う。 > >>フレームを使えば出来ますが > ではなくて、仕組みをお伺いしていると言うことはお察しいただいておりますか(笑) フレームを使うのも立派な仕組みだと思うが。

iinnffoo
質問者

お礼

わかりました。

  • PXU10652
  • ベストアンサー率38% (777/1993)
回答No.2

 フレームを使えば簡単に実現できますが、自分が作成していないページを自分のホームページのように見せた場合、著作権法に抵触します。

iinnffoo
質問者

お礼

トラチェンってご存じないですかね・・・。 まぁ犯罪が多いですから疑うお気持ちは分かるんですけど。。。 疑い深いのもあれですよ。 >>フレームを使えば出来ますが ではなくて、仕組みをお伺いしていると言うことはお察しいただいておりますか(笑) まぁそれも1つのご意見としましょう。

iinnffoo
質問者

補足

あれ・・・ もうお一方お答えあった気がしたんですけども・・・。 どこ行ったんでしょう。。。 回答に足が生えてどこかに行ったんでしょうか・・・。 あっ。規約に違反しちゃって事務局の方に消されちゃったんですね。。。 消えてますもんね。 まぁルールマナーは守ってご利用いただきたいものです。 あっ。 皆さんご回答有り難う御座います。

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

んなもん、PHP等の言語使わなくてもできます。 HTMLの知識があれば簡単にできますよ。 やり方が分からない場合はHTMLを勉強しまくってください。

iinnffoo
質問者

お礼

>>んなもん、PHP等の言語使わなくてもできます。 えっとですね(笑) 出来る出来ないではなくて、仕組みを(笑)ダメです笑いすぎて書けませんすいません(笑) 気を取り直して。 出来る出来ない htmlはできるとかではなくて、仕組みをお伺いしております。 「できる」と一言言われましても実際「本当に知ってるんですか?あなた。詳細まで答えられないなら実際は知らないんじゃないの?」と社会では見られちゃいますからね・・・。 いや、私的には1つのありがたいご意見として頂戴しております。

iinnffoo
質問者

補足

「んなもん」ってかっこいっすね! 栃木とか茨城の元ャんキーの方ですか!? かっこいっす! 自分も「んなもん」って使いたいっス!(笑)

関連するQ&A

  • PHPで外部CGIの表示

    今までサイトをHTMLで書いていましたが、共通項目などが管理しやすいようにPHPで構築しなおしていますが、CGI(perl)で運営している、BBSやメールフォームなどは、今まで通りのCGIで使用しいきたいのですが、PHPファイル内に自サーバー内のCGI(perl)で構築しているファイルを読み込むのに require,includeではうまく、PHPファイル内に表示されません。 readfileだと、自サーバー以外のファイルを読み込む場合に使用する関数と理解していますが、CGIファイルなどを読み込む場合にはどのようにしたらよいのでしょうか? ちなみに、この場で整理する意味で、まとめて使い方を教えて下さい。

    • 締切済み
    • PHP
  • PHPのinclude_onceで外部ファイル化したサイトURLがリン

    PHPのinclude_onceで外部ファイル化したサイトURLがリンクしてくれない。 Webサイト制作中ですが、サイトURLをいたるところに記述するのと、同じ構造のサイトをいくつも制作するので、使い回しにもなるということで、サイトURLだけを記述したurl.phpという外部ファイルを作成しました。 すると、少なくとも以下のような場合、リンクをクリックするとページが存在しないというページが開いてしまいます。 どうやら相対パスと勝手に解釈されてhrefタグの記述がおかしくなるようです。 どうやって直せるでしょうか? ●リンクをクリックして開いたブラウザアドレスバーに出たURLは以下です。 http://僕のサイト.jp/syohin/%EF%BB%BFhttp://xn--u9jxf0b3dt27s.jp ●ブラウザ下部のステータスバーに出ているリンク先は以下です。 http://僕のサイト.jp/product/http://xn--u9jxf0b3dt27s.jp ●HTMLの記述は以下です。 <a href="<?php include_once("url.php"); ?>" title="僕のサイト.jpのトップへ">僕のサイト.jpのトップへ</a> ●url.phpに書いた記述はサイトURLだけです。以下です。 http://xn--u9jxf0b3dt27s.jp url.phpを置いているディレクトリへのパスがおかしいのか?と思い、サイト最上階、つまりindexがある一番上の階層にurl.phpをアップロードしてもみたのですが、結果は同じでした。 以下のように「../」とつけてもダメでした。 <a href="../<?php include_once("url.php"); ?>" title="僕のサイト.jpのトップへ">僕のサイト.jpのトップへ</a> 外部ファイル化して共通部分を沢山つくているのでどうしても相対パスではダメな部分が沢山あるので何とかしたいのですが・・・

    • ベストアンサー
    • PHP
  • htmlの中にssiでphpを表示させる方法について

    いつもお世話になっています。 タイトルにもありますが、htmlファイルの中でphpの実行内容を表示させたいと思っています。 htaccessでhtmlでもssiが動くように設定してあるので、htmlの中でssiを使用してphpを呼び出す事はできるでしょうか? <!--#include virtual = "~.php" --> <!--#include file = "~.php" --> 上記のように試してみたのですが、「[an error occurred while processing this directive] 」と表示されてしまいます。 この記述方法で間違っていないと思っていたのですが、どうしても上手くできません。 phpまでのパスを相対パスや、絶対パスで指定してみましたが、やはりダメです。 表示させたいphpは、直接アクセスするとちゃんと表示されます。 またphpのパーミッションは644となっています。 アドバイスを御願い致します。

    • 締切済み
    • PHP
  • phpのサイト

    http://www.bleep.com/ ↑のサイトのように左側にある画像をクリックすると 真ん中だけがきりかわる また左側にある「NEWS」などを押すと左側だけがきりかわる、などなど HTMLの「iframe」みたいな感じだなとおもいました。 上のサイトのようにPHPをつかっておのおのをきりかえる仕組みを作りたいので・・・よろしくおねがいします。 (includeで左、真ん中、右を読み込んでるですよね?)

    • ベストアンサー
    • PHP
  • phpの中で外部のcgiを実行させる方法

    aaa.phpの場合、外部のphpファイルをincludeで呼び込めますが、ではaaa.phpでcgiを呼んで来て実行させることはできるのでしょうか?

    • ベストアンサー
    • CGI
  • 携帯電話でPHPファイル表示できる?

    PHPファイルで携帯ホームページを作ろうと考えています。 試しに1ページ、画像とテキストを載せて、自分の携帯(ソフトバンク910SH)で見てみると、一応見ることができました。 しかし、携帯によってはHTMLでないと表示できなかったりするのでしょうか? 一番使いたいPHPタグは <?php include("Menu.php"); ?> といった、外部からPHPファイルを読み込むタグです。 あまり複雑なPHPは携帯では無理だったりするのでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHPで韓国語の表示がうまくいきません

    PHP4.3.3で韓国語Webページを作成しているのですが、 IEでアクセス時、EUC-JPが選択されておりハングル文字が文字化けしてしまいます。(韓国語はEUC-KRで記述) HTMLのデザイン部分をincludeして使用しているので、 WebサーバからハングルのHTMLファイルを表示させる場合にはハングルが表示されます。 また、別のPHPサーバではPHPからEUC-KRのファイルをincludeしても問題なくハングルが表示されており、 phpinfo()で違いをみるとmbstringにKorean support の有無の差がありました。 ただ、韓国語のサイトを作るサーバはKorean support が無く、 PHPの再インストールもできない状況なので なんとか解決方法は無いか、と探しています。 何かご存知でしたら情報をいただけますと幸いです。

    • 締切済み
    • PHP
  • PHP ダウンロードサイトの直リンク

    お世話になります。 技術的な質問といいますか、疑問なのですが、ぜひ皆様のご意見を伺わせてください。 現在、phpを用いてzipのダウンロードページを作成しております。 本サイトは簡単な会員制のため、必要事項を入力してもらった上でダウンロードができる仕組みです。 まず、ファイル構成は、 1、top.html 2、check.php 3、download.php となっております。 topにはformで、入力した内容をcheck.phpに渡す処理が書かれております。 check.phpには、入力された内容を確認し、場合によってはhtml画面に戻ったりします。 download.phpは、aタグでダウンロードリンクが書かれており、クリックをすると保存ダイアログが開きます。 この一連の流れはすでに完成しているのですが、問題となっているのが直接download.phpのリンクを知っている人がいたとして、urlに直書きしてしまうとアクセスできてしまうということです。 なので、.htaccessを使って制限する方法か、またはdownload.phpで渡ってきた$_POSTの中身が空白ならばエラー処理 というような流れを作ったほうがいいのでしょうか。 ※ちなみに$_POSTで渡ってくるものは全て何かしら入力されており空白は許していません。 .htaccessも正直、どのように書いたらいいのかよくわかりません・・・ もし、他にいい方法がありましたらぜひ教えてください。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPで買い物カート内の金額を取得したい

    多くのECサイト内の買い物カートは、PHPなりCGIなりで作られていますが、 PHPにてその決済額を取得するような仕組みを考えています。 少し具体的にお話させて下さい。 買い物カートが設置された稼働中のECサイト内に、新たに決済が行われた金額を取得し、 データベースに登録して行く・・ と、こんなような仕組みをPHPで作りたいと考えておりますが、それを汎用的なもの として作りたいと考えています。 多くのECサイトは、CGIなりPHPなりで作られていると思いますが、言語を問わず、 汎用的な仕組み(ファイル)をPHPで作ることは可能でしょうか? イメージ的には、cgiファイルの中に、作成したphpファイルをインクルードする・・といった感じです。 (既存ファイルがphpだったら問題ないのですが、汎用的なものを考えています) 既存ファイルの修正など、多少の設定でPHPファイルが機能するような仕組みを 望ましいのですが、PHPは初歩的なものはある程度理解できるものの、 CGI(perl)は触った事ないので掴みどころが無い状況です。 お忙しいなか恐縮ですが、アドバイスを含めお知恵を頂戴出来れば幸いです。 宜しくお願い申し上げます。

    • 締切済み
    • PHP
  • サイトのphpソースコードを表示する方法

    参考のためにサイトのphpソースコードを表示する方法を知りたいです。 ある参考書にこのような解説がありました。 『$con = mysql_connect("localhost","sampleID","samplepass"); のようにphp内に直接ユーザ名とパスワードを記載することはいけません。 なぜなら、phpファイルはブラウザからアクセスして見ることができるからです。 対策として、ユーザ名とパスワードを記載したiniファイルを作り、 それをドキュメントルートよりも上位の場所に置くと良いでしょう。』 ブラウザからアクセスして見ることができる、とありますが、 見ることが出来るのは開発担当者達ということでしょうか。 SQLiteのデータベースも同様にドキュメントルートよりも上位の場所に保存 とあるサイトで解説していましたが、専用のソフトとかありますか?

    • ベストアンサー
    • PHP

専門家に質問してみよう