顧客が製品を複数回評価するのを防ぐにはどうすればよいですか?IPアドレスを保存するCookieを使用するのが最善ですか、それともデータベースにユーザー評価を保存するのが最善ですか?MySQLとColdFusionを使用しています。
乾杯!
あなたがデータベースに評価を保存することができるならば、それのために行ってください。Cookieを削除したり、IPアドレスを使用して特定の人物を確実に識別したりすることはできません。
ユーザーアカウントをお持ちの場合は、評価をアカウントに関連付けてください。1人のユーザーが1つのアカウントしかない限り、ジョブは実行されます。
Cookieを使用する場合、Cookieを無効にしているユーザー、複数のブラウザを使用しているユーザー、または意図的に削除するユーザーで問題が発生する可能性があります。IPアドレスを保存すると、(非常にまれですが)さまざまなユーザーで問題が発生する可能性があります。同じIPアドレスから-同じ家族または組織はおそらく比較的少数の外部IPアドレスを持っていますが、AOLなどのISPは通常、複数のIPからの単一ページの要求を持っています。
全体として、ユーザーが製品を評価するのに十分気を配っている場合、ユーザーアカウントにサインアップするのに十分気を配っているのではないかと思います。何か危険なことが起こった場合に備えて、IPデータやその他のブラウザ情報を監視することはできますが、それは、ユーザーが少なくとも異なる電子メールアドレスを持つのに十分な識別力を持っていることを確認するための最も効果的な方法です。あなたの評価を真剣に操作したい人を捕まえることはできませんが、実際にそのような人に遭遇した場合、あなたは何をしてもそれらを止めるのに苦労し、あなたが示唆的な使用パターンを得るまであなたは何を知るのが難しいでしょう探す。この場合、何をするにしても、注意深いログを保持することが重要です...
さて、一度評価されたあなたの評価手順はすべてデータベースと通信しますよね?mySQLを使用しているため、各評価はおそらくデータベースに保存されます。
製品を評価したら、ユーザーのIPに基づいて、または該当する場合はユーザー名に基づいて、ユーザーに一意のIDを与えるだけです。次に、このユーザーが以前に一度評価したことがあるかどうかを確認します。
その非常に簡単です。
IF userVoted != true
saveVote ( "ipAddress", "User Voted Yes")
else
display ( "You have already voted" )