2016-07-14 11 views
1

たとえば、人がビデオを好きにしているかどうかを追跡しているとします。 ログインがうまくいけば、ビデオが好きなときは、そのuserIdでテーブルに新しい行を追加するだけで十分です。1人の人が何か好きなものを追跡するにはどうすればよいですか?たとえば、ビデオ

匿名の人を追跡しようとすると問題が発生します。 私はアプローチしようとしました。 IPで

  1. :ちょっとOK 作品が、問題は、あなたが同じ建物内100人にビデオを送信する場合、あなたはそれだけのような一度、それらのすべてとしてのセッションで同じIP
  2. を持つことができるということです:あまりにもちょっとOK 作品がありますが、新しいセッションがそのために作成され、ブラウザを閉じるたびに、あなたは、スパムのようなことができますが、私は今、この(正直、これは問題の少ない方である)

をやり続ける場合セッションのソリューションと一緒に行くが、より良い/簡単な方法があるのだろうか?

+0

実際には、Cookieを渡すことはできますが、ユーザーは削除できます。 HTTP [s]はステートレスです。それほどあなたはそれでできません。 –

+0

あなたはクッキーを試しましたか?興味深い。 –

答えて

1

あなたはLaravelを使用しています。私はおそらくセッションクラス、具体的にはmemcachedまたはredisを使用してこれにアプローチします。後者を好むでしょう。 vid IDを持つセッションを保存し、ビューをレンダリングするときのセッションをチェックし、1日か数時間後に期限切れにするか、決してそれを期限切れにしないでください。存在する場合は再作成し、そうでない場合はnullを実行します。

redisを使用すると、より詳細なチューニングクエリを作成することもできます。たとえば、動画の視聴回数を確認するなどですが、このようなものはデータベース形式では適切かもしれません。

-1

ユーザーはMACアドレスで確認できます。

<? 
ob_start(); 
system('ipconfig /all'); 
$mycom=ob_get_contents(); 
ob_clean(); 

$findme = "Physical"; 
$pmac = strpos($mycom, $findme); 
$mac=substr($mycom,($pmac+36),17); 

echo $mac; 
?> 
+0

ルータのMACアドレスではありません - マシンではないですか? –

+0

はほとんどのサーバーが 'システム'呼び出しを禁止するので、何もしません。たとえそれが実行されたとしても、それはサーバのNICのMACであり、クライアントのMACではない –

関連する問題