4

ブラウザで JavaScript が有効になっていないユーザーはカウントされないため、Google アナリティクスは正確な数値を取得する最善の方法ではないと判断しました。したがって、独自のAnylyticsを作成したいと思います。

ユーザーの IP アドレス、ページの URL、日付/時刻を記録するテーブルがあります。

次に、サイトのすべてのページの下部にあるスクリプトを使用して、SQL クエリを実行し、データをデータベースに送信します。

これがスクリプトです。

$page_viewed = mysql_real_escape_string($_SERVER['REQUEST_URI']);
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
     $ip=$_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
     $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
     $ip=$_SERVER['REMOTE_ADDR'];
}
$ip = mysql_real_escape_string($ip);
mysql_query("And then do the sql query.... ");

ここにいる皆さんのほとんどは経験豊富な開発者であるため、スクリプトの改善点や修正が必要なものがないかどうかを知りたいです。

4

4 に答える 4

2

これは悪い考えのように思えます... 一般に、ユーザーが JavaScript をサポートしていない場合、ユーザーのブラウザーは html タグに含まれるものを解析します。通常、これらには単一のピクセル画像または類似のものを含めることができます(画像の目的は、上記のようなコードを呼び出すことです)。このリクエストを使用して、JavaScript 機能を持たないクライアントに関する情報を取得し、全員を同じ船に閉じ込めないようにします。

于 2012-05-20T14:18:13.763 に答える
1

Apache を使用している場合、これはすべてログ ファイルに記録されます。http://awstats.sourceforge.net/のようなものを使用してそれらを分析できます。

分析に値する種類の JS 非対応トラフィックがある場合、MySQL と PHP でログを記録すると、サーバーが停止します。

于 2012-05-20T14:22:59.893 に答える
0

ブラウザのキャッシュと JavaScript のため、ログ ファイルの分析も 100% 正確ではないことがわかります。ログ分析とページのタグ付けを組み合わせることは、ほとんどの Web サイトにとって最良の選択です。過去数年間、 Nihuoと Google アナリティクスの両方を使用していました。

于 2012-05-21T03:29:15.173 に答える
0

上記の @Blowski のように、より良いオプションがあります。過去にMintを使用したことがありますが、これは素晴らしいサービスです。それは PHP で書かれており、勉強するのが美しく、理解しやすいです。

車輪の再発明に時間を費やす前に、機能のハイライトスクリーンキャスト、スクリーンショットを確認することをお勧めします。あなたの時間は貴重です。

于 2012-05-20T14:33:24.933 に答える