外部のhtmlページに以下のコードを貼り付け、リファラーとアクセスページを取得しようと思っているのですが、うまくいきません。
▼ htmlページに貼り付けたコード(外部サーバ)
<script type="text/javascript" src="http://example.com/script.php"></script>
▼ script.php の 中身(自サーバ)
$access_url= 'http://' . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
$referer_url = $_SERVER["HTTP_REFERER"];
[現在の状態]
$access_url の中身 = http://自サーバのドメイン/script.php
$referer_url の中身 = http://コードを貼り付けたページ
色々と試行錯誤してこの形になったのですが、完全に行き詰ってしまいました。
方向性だけでも良いので、どなたかご教授いただけませんでしょうか。
よろしくお願いいたしますm( _ _ )m
No.2ベストアンサー
- 回答日時:
ん~結局何がしたいのか分からなくなってきました・・・。
>リファラーとアクセスページを取得しようと思っている
これは、HTMLにアクセスしてきた人(クライアント)のリファラを取得したいということでしょうか?
それならJavaScriptを使うのが一番楽です。
http://f32.aaa.livedoor.jp/~azusa/?t=js&p=docume …
アクセスページというのは、「現在のページのアドレス」のことでしょうか?
それならJavaScriptではwindow.locationで取得できます。
http://www.tohoho-web.com/js/location.htm
>[現在の状態]
>$access_url の中身 = http://自サーバのドメイン/script.php
>$referer_url の中身 = http://コードを貼り付けたページ
こうなるのは、自サーバーのPHPへのアクセスは外部サーバーのHTMLからのアクセスだからです。
もしクライアントのリファラなどを知りたいのであれば、実際にクライアントからの接続がある外部サーバー上で取得しなければなりません。
どうしても自サーバーでPHPで処理したい場合は、JavaScriptで得た上記の情報をGETやPOSTで通知することになるのですが、JavaScriptだけではクロスドメインなアクセスはできないので、結局外部サーバー側でPHPやCGIなどを利用して中継してやる必要があります。なので、外部サーバーがPHPもCGIも使えない、といった場合は無理かと思います。
><script type="text/javascript" src="http://example.com/script.php"></script>
>は、フリーの解析ツールなんかが使ってるのを見て、コードがスマートでいいなぁと思ったので、チョイスしました。
これは、外部サーバーのPHPを実行して得た出力をJavaScriptとして実行する、という意味です。
#しばしばコールバックを設定してJSONPとして利用されたりします
外部サーバーのPHPファイルをHTMLに読み込んで実行するという意味ではありません。
なんだかまとまらなくなってしまいましたがご了承ください…。
返信ありがとうございます!
おっしゃる通り、HTMLにアクセスしてきた人(クライアント)のリファラと、現在のページのアドレスを取得しようとしています。
>もしクライアントのリファラなどを知りたいのであれば、実際にクライアントからの接続がある外部サーバー上で取得しなければなりません。
PHPの場合はそのようになるんですね!
PHPとJavaScriptのリファラ取得方法の違いを理解していませんでした。。。
>#しばしばコールバックを設定してJSONPとして利用されたりします
これはよく意味が理解できなかったです。まだまだ勉強不足ですね(;^_^A
そして、
おかげさまで、以下のような手順を踏んで無事解決することができました。
script.phpの呼び出し → JavaScriptでリファラとアクセスページを取得 → 非同期GET通信でPHPにデータを渡す
丁寧なご説明、ほんとにありがとうございましたm( __ __ )m
No.1
- 回答日時:
><script type="text/javascript" src="
http://example.com/script.php"></script>これは外部JavaScriptを実行するための表記法ですのでPHPスクリプトファイルを指定するのは間違っています。
#場合によってはありえますが、少なくとも今回のケースでは間違っています
なので、PHPを実行したいのであればHTMLファイル内で
<?php /* この間にPHPの処理を書く */ ?>
ようにしましょう。
とはいえ、やはり基礎から勉強するのが早道かと思いますが。
http://www.google.co.jp/search?hl=ja&safe=off&cl …
ちなみにリファラに関してはJavaScriptでも取得できます。
申し訳ございません。
質問に前提条件を書いてなかったですね(汗)
外部のhtmlページは、そのサーバ設定を変更することができず、
<?php /* この間にPHPの処理を書く */ ?>
を使いたくても使えない状態なんです。
<script type="text/javascript" src="http://example.com/script.php"></script>
は、フリーの解析ツールなんかが使ってるのを見て、コードがスマートでいいなぁと思ったので、チョイスしました。
このコードでなくてもいいのですが、最終的な渡し先がPHPのシステムなんで、できればPHPの変数に格納したいのですが、良い方法はありませんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リンク先を隠す方法はないでし...
-
PHPで新しいウインドウで開く命...
-
htmlにコードを貼り、リファラ...
-
textareaのvalueについて
-
英語圏で外注したソースが同じ...
-
暗号化されたファイルを作りたい。
-
csvデータをテーブル表示、指定...
-
ページを開いて何秒か?
-
PHPで作られていることがわかる...
-
フォントの色を変えるには?
-
PHPのif文でその処理を途中で抜...
-
copy() で属性保存
-
onedrive にexcelファイルをア...
-
PHP session_destroyとsession...
-
「クラス関数」「メンバ関数」...
-
別PHPファイルに変数を渡す
-
VBSの「MsgBox」について
-
3つ以上の論理積は利用可能なの...
-
「@$変数」の「@の意味は?」
-
CFileDialogの最初のディレクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リンク先を隠す方法はないでし...
-
PHPで新しいウインドウで開く命...
-
jpgraphで表示されない
-
PHPでTELNETを実装できる?
-
PHPやjavascriptを無効にする方法
-
textareaのvalueについて
-
csvデータをテーブル表示、指定...
-
str_replace()で、なぜ置き換わ...
-
htmlにコードを貼り、リファラ...
-
WinXP PHP5 Apache2 初期設定で...
-
英語圏で外注したソースが同じ...
-
PHPの利点
-
javascriptで切り替えて、php(...
-
phpのページが白紙で表示される
-
iphone/AndloidアプリをPHPで作る
-
静的HTMLにRDFを表示させる方法...
-
PHPで外部のhtmlを読み込んでソ...
-
PHPでつくる更新履歴 作り方と...
-
header("Content-type: applica...
-
フォントの色を変えるには?
おすすめ情報