2017-08-25 12 views
-7

$ip = getenv("REMOTE_ADDR") ;のようなウェブサイトを介して追跡できるユーザーのIPを取得するようなコマンドはありますか?誰もがそのリストを知っていますか?サイトページを通じてユーザーを追跡する方法はありますか?

+0

google analytics – clearshot66

+1

'$ _SERVER ['REMOTE_ADDR']'はあなたのユーザのIPを与えます。そして、あなたは*それらのリスト*を意味しますか?しかし、なぜ車輪を発明するのですか? [Googleアナリティクス](https://analytics.google.com/)やよく似た訪問者トラッキングシステムの何が問題なのですか? – BenM

+0

あなたの質問に答えるには、**はい**コマンドがありますし、**いいえ**私はリスト、あるいはその意味を知りません。 – GrumpyCrouton

答えて

0

私はchris85のコメントに同意します。 Use PHP sessionsあなた自身でソリューションをコーディングする場合。 Cookieを有効にしているユーザーを追跡できます。

プロキシの背後にいるユーザー(同じ会社、同じ大学、同じVPNのユーザーなど)が同じIPアドレスを共有するため、この目的でIPアドレスは使用しないでください。

/** 
* Note this is not production code! Error checks need to be added 
*/ 
function logVisit(PDO $db){ 
    static $alreadyLogged = false; 
    if($alreadyLogged) return; 

    /*TO DO: abort if user has Do-Not-Track header set*/ 

    $page = $_SERVER['PHP_SELF']; 
    $time = date('Y-m-d H:i:s'); 

    $_SESSION['visit'][] = [ 
    'page' => $page, 
    'visit_time' => $time 
    ]; 

    $stmt = $db->prepare('INSERT into tbl_log VALUES(:page, :visit_time, :session)'); 
    $stmt->execute([':page'=>$page, ':visit_time'=>$time, ':session'=>session_id()]); 
    $alreadyLogged = true; 
} 

あなたがしてスクリプトを起動することで、後の分析のために訪問をログに記録できます:ユーザーがサイト上にある間、$_SESSION['visit']がレコードを持っていますが、今

<?php 
session_start(); 
logVisit(new PDO('...')); 

機能を考えると

最近見た記事をサイドバーに表示するなどの操作を行うことができます。データはDBに保存されているため、ユーザーが離れると他の目的でデータを分析できます。

1つの重要な制限(クッキーに依存する以外に)は、2人の異なる訪問を同じユーザーにリンクさせることは容易ではないということです。プラス面では、IPアドレスのように個人的なものは何も記録されていないので、プライバシーは尊重されます。

+0

ありがとう!私が$ _Server ['PHP_SELF']を探していたのとまったく同じです。 –

関連する問題