5

ログインせずに投票するための合理的に安全なシステムを作成する方法はありますか. 私は今、クッキーを使用して、その人がまだ投票しているかどうかを設定し、ユーザーの IP をデータベースに挿入します。

そのユーザーが Cookie を削除すると、再び投票できるようになります。そのため、ユーザーの IP がデータベースに存在するかどうか、およびその IP が過去 30 秒間に投票したかどうかを確認します。そうすれば、再度投票するには、Cookie を削除して IP アドレスを変更する必要があります。

これには 100% 確実な解決策がないことはわかっていますが、これを行うためのより安全な方法はありますか?

4

3 に答える 3

4

結果を改善する方法は 2 つありますが、必要に応じて読んで自分で判断してください。

より永続的な Cookie

多くの場所にクッキーのような情報を保存するEvercookie プロジェクトがあります。通常の Cookie よりも削除がはるかに困難です。

個人的には、このプロジェクトは概念実証と見なされるべきであり、実際に使用することは非倫理的だと思います

ユーザー認識の向上

再訪問者を識別するために IP アドレスを確認するだけでなく、ブラウザのフィンガープリントを使用できます。EFF はPanopticlick プロジェクトで、ブラウザーのバージョン、OS のバージョン、インストールされているアドオンなどの組み合わせがしばしば固有であることを示しました。Piwik Web 分析ツールも、この種のユーザー ヒューリスティックを使用して、訪問者を区別します。実装はわかりませんが、FOSSでPHPなので、その部分は探せるはずです。

于 2012-06-27T13:46:47.913 に答える
1

これらの両方のソリューションを同時に実行できますが、それでも安全性は高くありません。動的 IP の変更を防ぐために、サブネット (192.168.1.xxx) の投票をブロックすることもできますが、最大 254 人の投票もブロックすることになり、プロキシをブロックすることはできません。

私がよく使っている方法の 1 つは、重複投票を許可しているように見せることです。つまり、重複投票がカウントされていることをエンドユーザー側に表示しますが、実際には自分のデータベースではカウントしないでください。

しかし、現実的には、ログイン システムはこれを行うための唯一の比較的「安全な」方法です。

お役に立てれば。

  • エオガン
于 2012-06-27T13:28:28.847 に答える
0

ユーザー エージェントを広告することができます (短期間では、2 人のサーファーがまったく同じである可能性はほとんどありません: https://panopticlick.eff.org/index.php?action=log&js=yes ) しかし、もう一度 '誰かが十分に決定した場合、それも明らかにゲームすることができます。

于 2015-04-16T00:16:13.400 に答える