お世話になっております。
Webサイトの各ページを開いた時に接続元のIPアドレスと開いたページ名を取得したいと思っています。そのようなCGIはフリーで公開されていて、以前にホームページに組み込んだことがあるのですが、今回組み込もうとしているページがmkdocという静的サイトジェネレータで作成したhtmlなので、各ページにスクリプトを組み込むことが難しい(テンプレートに手を入れればできるのでしょうが標準テンプレートに手を入れるのは気が進みません)ので簡便的な方法はないかと考えています。
テンプレートは難しいので、サイト単位のCSSに手を入れることによって、
必ず生成されるdivタグの適当なクラスにbackground-imageを返すスクリプトを呼び出すことを思いついて、組み込んでみました。
CSS
1// custom.css 2.md-header__title { 3 background-image: url("http://***/mklog_put.php"); 4}
php
1// mklog_put.php 2$motourl = $_SERVER['HTTP_REFERER']; 3$today = date("Y-m-d H:i:s"); 4$ip_address = $_SERVER['REMOTE_ADDR']; 5file_put_contents("./log/weblog.txt", $today.",".$ip_address.",".$motourl."\n", FILE_APPEND);
とりあえず、IPアドレスを取得することは出来ましたが、呼出元ページ(HTTP_REFERER)は、呼出元のページ本体ではなく、上記のCSSファイルになってしまいます。
当然の結果なのかもしれませんが、CSSでなく、それを使っているページ名を取得するには、ページ自体からスクリプトを呼ばない限りは無理でしょうか?
あなたの回答
tips
プレビュー