12

すべての訪問者、ページにアクセスした日時、およびIPアドレスのログを保持するために、ページに追加できる簡単なスクリプトまたはコードはありますか?そして、これを行うための最良の方法は何でしょうか... javascript、php、他の何か?

編集:

痛い...

これが起こったことです...FileZillaを使用してサーバーにアクセスしたとき、すべてのドメイン名(約20)がありました。domain.comのようにログに記録されているので、必要なものを見つけてログを確認しましたが、主に検索でした。エンジン。

しかし、私は戻って、たまたま表示されていないものまでスクロールダウンしました。www.mydomain.comのようにwwwが前に付いたすべてのドメイン名がありました。もちろん、そこにあるログは巨大で、必要な情報。

これは、mydomain.comで探していたものが見つかり、もちろん探すのをやめたために発生しました。私は他のすべてのセットが見えないことを知りませんでした...正直な間違い。

私はまだそのコードを使用しています。なぜなら、それは素晴らしくて小さいので、ログは非常に巨大で、ダウンロードして見るのに何時間もかかるからです。

4

5 に答える 5

42
$line = date('Y-m-d H:i:s') . " - $_SERVER[REMOTE_ADDR]";
file_put_contents('visitors.log', $line . PHP_EOL, FILE_APPEND);

@Day で概説されているように、おそらくより標準的な形式で、ロギング$_SERVER['REQUEST_URI']やその他の興味深い情報も検討してください。

于 2011-07-26T23:08:42.620 に答える
4

ページに追加する最も単純なコードは、コードをまったく使用しないことです。では、「何か他のもの」を提案してもいいですか?カスタム PHP コードを記述する代わりに、Web サーバーに組み込まれているリクエスト ロギング機能を使用してみてください。

Apache やその他の多くの Web サーバーは、Common Log Format (CLF) でログを生成できます。また、そのようなログを分析してきれいなグラフを描画するためのツールが多数用意されています ( WebalizerAwstatsなど)。CLF ログ行は次のようになります。これにより、要求したすべての情報とその他の情報が得られます。

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 

ロギングを設定して試してみる方法については、Web サーバーの適切なドキュメントを参照してください。

于 2011-07-27T00:00:32.773 に答える
4
<?php
    // include this piece of code in every page call

    // write in database row
    $log = array('time' => time(), 'ip' => $_SERVER['REMOTE_ADDR'], 'url' => $_SERVER['REQUEST_URI']);
?>
于 2011-07-26T23:10:34.167 に答える
1

最も包括的な - Apache のアクセス ログ:ログ ファイル -> アクセス ログ @ httpd.apache.org

于 2011-07-26T23:06:42.447 に答える