0

私は自分のウェブサイトWDMND.comで Like/Dislike システムを開発しました。

C# で asp.net を使用しています。

私の目標は、認証なしでも、すべての訪問者の気持ちをつかむことです。

そのため、すべての単一コントロールの投票を IP ごとに 1 つに制限しました。

同じ家族の2人のユーザーが同じIPを持っているため、両方の意見を共有できないことに気付きました:(

私は「問題ありません!MACアドレスで投票を制限します:D」と自分に言い聞かせました。残念ながらそれは不可能です:P

その後、Cookie を使用することを思いつきました。問題は... 一部のトロールは次のようになります。

while (!timeToGoToBed)
{
   vote --;
   cookie.delete();
}

これが私が考えているところです..どうしたらいいのか本当にわかりません。このままにしておくべきですか、それとももっと良い方法がありますか?

同じ IP を持つ 2 人のユーザー (コンピューター) の違いを確認する方法はありますか?

どうもありがとうございました!

4

1 に答える 1

2

私のアドバイス - ユーザーの認証に伴う扱いやすさが必要であるが、匿名ユーザーがデータとやり取りできるという利便性が必要な場合は、どこかを犠牲にする必要があります。以前は、ユーザーがログインしなくてもサイトとやり取りできる方法を常に探していましたが、それでもサイトを悪用などから保護していました。ある時点で、ユーザーにサインインを要求することには、短所よりも長所の方が多いという結論に達しました。 . Amazon と Google では、コメントや投票を行うにはサインインする必要があります。

ユーザーがサインインしたくないと考えている場合は、IP アドレスで制限するだけです。そのマイナス面について深く考えていることになります。ユーザーがサイトと即座に対話できるようにしていることを思い出してください。それ以上はサインアップする必要があります。 . ただし、Google/Hotmail/Facebook などでのサインインを許可するだけで、ユーザーにサインインを促すことを強くお勧めします。ほとんどのユーザーは、とにかくそれらのために使用するダミー アカウントを設定しています。あなたは驚くでしょう。一部の大学やインターネット カフェでは、すべてのユーザーが同じパブリック IP アドレスを共有しているため、IP だけを見て大量のユーザーを分離している可能性があることに注意してください。幸運を

于 2013-09-29T00:47:11.977 に答える