2012-04-21 17 views
1

私は現在、匿名ユーザーがデータベースにデータ(またはコメント)を入力できるようにするWebサイトを作成しており、サイト上の他の匿名ユーザーがサイト上に表示されたコメントを投票することができます。PHPサーバーのオプションと投票システム

私は既にコメントを作成し、別のユーザーがコメントに投票できるようにする機能を作成しました。私が持っている問題は、各コメントを1回だけ投票するようにサイトの各訪問者を制限する方法を考えていることです。

私のアイデアは、ユーザーが投票したときにセッションIDを作成し、セッションIDが既に存在する場合に試して比較しようとするときに試してみるときでした。これは動作しますが、セッションが破棄されるまでのみ有効です。誰にどのようにこれを達成することができるかについての他のアイデアはありますか?私は

+2

何か試したことがあると思いますか? 「匿名」を制御しようとすることはほとんど不可能です。 IPは共有され、セッションは一時的であり、クッキーは削除することができます。 – Blake

+0

私が匿名と言うとき、私は単にユーザーに関する情報を取得しないので、あるユーザーを他のユーザーから認識できないことを意味します。ログインを介して) – Phil

+1

私はあなたが何を意味しているのか知っていますが、それは次のようなものです:一意の識別子はなく、独自の制限はありません。 – Blake

答えて

1

ちょうどIPのどちらかクッキーと投票を制限事前に

感謝を利用できる$ _SERVERいくつかのオプションを使用することができるかもしれないと仮定しています

は、また、私は持っていた中3つのウェブサイトを作成しました私はIPでそれをやったが、その後私はクッキーに戻った。ユーザーが何度も何度もクッキーを削除しているのかどうかをチェックするためにIPを保存した。私の意見はクッキーと一緒に行くだけです。誰もがクッキーでそれをやっているとは見当たりません。

+0

はい?私は私のIPを変更し、クッキーを削除することができます。私は多くのサイトで何百万回も行ってきました。ユーザーを信頼しないでください! –

+0

幸いにもこれは小規模なウェブサイトなので、これで十分だと思います。実際にIPを変更してクッキーを削除しようとすると、2度投票できるはずです:)ありがとう – Phil

-1

特定の記事のコメントを挿入するときは、メンバー(コメントしている人)のIDまたは名前、または一意のものを保存します。

Select * from articles where member_commented_id = [current_member_id_from_querystring) and article_id = member_commented_on_article_id 

//a check point 
if result is > 0 .. its mean member already has commented on this article 

//otherwise 
add comments on article and insert member id as well for checking 

// if you are using seperate table for comments then you have to make additional field in table like 

comment_id, comment, com_date, member_id_who_commented, article_id_on_which_commented 

は、IPアドレスが(動的IPに設定されている場合)ISPによって変更され、クッキーは訪問者によってクリアすることができますので、IPやクッキーポイントが信頼できないチェック作る....コメントを挿入する前に確認コードを入れてください

希望は、これはあなたが

+0

ようこそ!コードを適切にフォーマットしてください。コードブロックは、任意のコード行の前に4つのスペースをインデントすることによって挿入されます。今回はコードをフォーマットしましたが、次回は正しくフォーマットしてください。さらに詳しいヘルプについては、[編集に関するFAQ](http://stackoverflow.com/editing-help#code) –

0

それは、匿名ユーザーのシステムに一票ポリシーを強制することは不可能です役立ちます。上記のコメントのように:

「匿名」を制御しようとすることはほとんど不可能です。 IP年代が共有され、 セッションは一時的なもので、クッキーは

を削除することができ、ユーザが望む場合は、100%であなたの顧客を識別することができない、彼はあなたが使用して投票しようとあらゆる手段をバイパスすることができるようになります一回以上。

唯一の信頼できるオプションは、登録を強制し、登録ユーザーのみが投票できるようにすることです。


それでも主張する場合、あなたはそれが困難なユーザーが施行システムをバイパスするために作ってみることができます。ユーザーのIPアドレスと永続的なCookieの組み合わせを使用して、ユーザーが2回投票しないように、両方に対して相互検証します。しかし、再び、ユーザーは簡単にクッキーを削除でき、ほとんどの場合、自分のIPアドレスを変更できることに注意してください。

+0

をご覧ください。幸いにも、これは小規模なウェブサイトなので、これだけで十分ですIPをして、クッキーを削除したら、二度と投票できるはずです:)ありがとう – Phil

関連する問題