0

JavaScript を使用して、マイクロ秒に基づいて訪問者 ID を生成し、画面サイズ、OS バージョン、ブラウザー バージョンを取得するなど、訪問者情報を検出します。

テストすると動作します。ただし、ページが公開されると、それらの情報を取得できないことがあります。この問題は、これらの情報に関するフィールドが空の意味であるために発生します。しかし、フィールドを非 NULL に設定しており、デフォルトは未定義です。

訪問者がjavascriptを無効にするかどうかについて考えていましたが、リクエストを送信するためにajaxを使用しているため、これは起こり得ないため、javascriptを有効にする必要があります。そうしないと、データベースに記録されません。

では、この問題はどのような要因で発生するのでしょうか。

コードが長すぎるため、ここに get id 関数を投稿できます

function Initvisiter_id(){
    var visiter_id;
        //alert(sessionStorage.getItem('visiter_id'));
    var date=new Date();
    visiter_id = date.getTime() + Math.floor(Math.random()*1000001);    
    return visiter_id;
}

URLからリクエストを取得するサーバー側スクリプト

//get parameters from url
    $parameters = $_GET['parameters'];
    $parameters = str_replace('\\','',$parameters);
    $m = json_decode($parameters);
4

1 に答える 1

0

JavaScript はクライアント上で実行されます。クライアントは、必要な情報を提供することも、提供しないこともできます。

また、次のような URL にアクセスできます: http://bla.com/url?parameters=

これは ajax リクエストではありませんが、JavaScript なしでフォローしている URL です。たとえば、検索エンジンのスパイダーは、この方法を使用してリクエストを追跡する場合があります。

ID を生成するためにクライアント側の情報に依存することはできません。クライアントを決して信用しないでください。

このリンクを見たばかりなので、このコンテキストで共有する価値があるかもしれません: http://minimaxir.com/2012/10/client-side-validation-is-hard-mode/

于 2012-10-15T11:35:35.633 に答える