• ベストアンサー

重複投稿禁止の投票システム

投票時にIPアドレスを取得して、保存し、同一のIPアドレスから投票があった場合はカウントしない投票のシステムを作りたいのですが、初心者なので全く分かりません…。 出来ればソースを書いて教えて下さい。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#43129
noname#43129
回答No.3

PHP使うけどフリーのものでいいですか?。 投票ポール BooEasyVotingSystem http://www.townee.net/script/list.php?cat=75

emichama
質問者

お礼

遅くなりましたが回答有難う御座います☆ PHPを良く理解するまで教えていただいた投票ポールを使うことにします。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.2

 水を差すようで、まことに申し訳ないのですが、仕様そのものに無理があると思います。  インターネット上で投票システムに伝えられるIPアドレスはグローバルアドレスとなります。このグローバルアドレスは、一般の方がインターネットに繋いでいる時にはISP(プロバイダー)からDHCPで割り当てられたアドレスとなるでしょう。この時、IPアドレス「だけ」では、個人を特定することができません。というのは、IPアドレスは、割り当て直される可能性があるからです。  極端な話、ダイヤルアップで接続してAというアドレスを取得して、投票したとしましょう。投票後、回線を切断して、再び接続して投票に行くとします。再接続したときには、Aというアドレスが割り当てられるとは限りません。ここで、Bというアドレスが割り当てられれば、もう一度その人は投票できます。さらに、悪いことにAと言うアドレスは、他の人に再利用されますから、その人は一回も投票していないのに投票できないと言うことになります。  単純な方法は、「一人一回だけ投票してください。」と書いておくことかな。これを読んで、なお、2回投票しようとする人は、先のダイヤルアップの手法で容易に2度投票できます。(光やDSLの常時接続でも、一度回線を切断すれば、同じことができます。)  IPアドレスと、アクセス時間が特定できれば、ISPの契約者を特定する手段は存在しますが、これにはISPに個人情報を開示してもらう必要があります。こんなことは、事実上不可能です。  というわけで、別の手法を考える必要があると思いますよ。簡易的に使うにしても、2重投票の可能性と投票不可能な人が出る可能性の両方が表裏一体ですから、ちょっと問題が多すぎると思います。  厳密にやるなら、会員登録をして、会員IDを割り当ててとなるし・・・簡易的にはクッキーを使うのが一番単純かな。どちらの手法にしても、事例は検索すれば山と出てきますので、一度調べてみてください。

emichama
質問者

お礼

遅くなりましたが回答有難う御座います☆ 色々調べてみるとmitonekoさんの言う通り、色々と問題がある様ですね。 会員登録のシステム等も作れる様に色々と勉強したいと思います。 丁寧に有難う御座いました。

すると、全ての回答が全文表示されます。
  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.1

わずかそれだけの要求仕様からソースコードを書くのは、 無理があると思います。 掲示板で、しかも無料で、けりが付く話ではないと思いますが、 いかがでしょうか。

emichama
質問者

お礼

遅くなりましたが、回答有難う御座います☆ 色々回答頂いて、こちらで教えて頂いた投票ポールを使う事にします☆

すると、全ての回答が全文表示されます。

関連するQ&A