- 締切済み
特定のユーザを認識する方法
あるWebサービスにおいて、あるユーザが1日に一定回数以上利用した場合に、ユーザ登録を促すような仕様にしたいと考えています。 具体的には、 ・あるユーザAがWebサービスを1日10回までユーザ登録無しに使える。 ・10回に到達すると、次の日になるまで使えない。 ・ただし、ユーザ登録(無料)すれば、1日の上限なしに使えるようになる。 イメージとしては、FC2動画がやっている「無料会員」と「有料会員」の区別のような感じの制御です。 これを実現するためには、どういう方法が一番よいと思われますか。 たとえばクッキーを使う方法がありますが、これだとユーザが自分でクッキーを消してしまえば無制限になってしまいます。 FC2動画ではどうやらIPアドレスで区別して利用回数を判断しているようです。しかし、これだと上手くやらないと、同じIP(プロバイダ)を使っている他のユーザまで巻き込んでしまいます。 わりと荒い方法でやるなら簡単なのですが、出来れば繊細にやりたいと思っています。 どうやるのが一番スマートでしょうか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- dscripty
- ベストアンサー率51% (166/325)
すくなくとも、やろうとしているのは、ストーカー的ターゲティング手法と同じだよね。 かなり、いいパス渡したけど、あとは受け手しだいかな? あと、カテゴリは、 『[技術者向] コンピューター』まで、さかのぼらないと、難しいとおもう。 ちなみに [ANo.4] は↑を見てるからこれ見つけたんだけどタイトルがちがってたらみてかも。
- foreach
- ベストアンサー率51% (43/84)
> 私は既にプロのシステム開発者です。 プロの技術者と自称される割にご存じないのかな? そもそもなぜPHPカテゴリで質問するのが不思議だし、それ以前にググったら答えはすぐに出てくると思いますが? 1さんはPHPカテでの質問なのでPHP的に解答されているのでは? PHPで考案するならクッキー・セッション・IP・UA等の組み合わせでしか識別する方法が無いのは当然ご存じですよね? つまり、貴方の求める厳密な個の特定をPHP"だけ"で実現するのが厳しいのは聞くまでもないと思います。 逆に言えばPHP以外の技術を使えば100%絶対ではないにしろ、クッキーやIPよりはかなり確実に識別が可能です。あえて方法は書かなくてもここまで言えばピンと来ますよね?
- pc_net_sp
- ベストアンサー率46% (468/1003)
クッキーと各種スクリプト・cgiで、作れると思いますよ。 懸念されているクッキー消去ですが、消去されたユーザーに対しては、一定時間アクセス不可にしたり、トップページに舞い戻るようにスクリプトで記述すれば良いだけの事です。 スクリプトの記述は自分で勉強して下さいね。 中途半端な知識の元で質問攻めにされたり、最終的に回答者がプログラムを組んだりしたら、当方ならかなりの開発料金を請求しますので・・・ IntelやMicrosoftのサイトを一定時間巡回してみて下さい。 巡回している間に、ユーザー登録しますか!?とかのメッセージが出るようになっています。 そのスクリプト等を解析できれば、アレンジも簡単です。
補足
>スクリプトの記述は自分で勉強して下さいね。 私は既にプロのシステム開発者です。 スクリプトの記述方法とか、そういうレベルの質問ではありません。もう一度よく質問を読んでいただければ分かるかと思いますが・・・。
補足
> やろうとしているのは、ストーカー的ターゲティング手法と同じ 別にそうは思いません。 一般的な範疇の要望だと思います。