- 締切済み
一度回答した人をはじくアンケートのシステム
Yahooのトピックスページ http://dailynews.yahoo.co.jp/fc/ の右下のアンケートで、一度回答すると二度目以降は「一度投票しているので、受け付けられませんでした。」と出て投票できないようになっています。これはどういう仕組みを利用しているのでしょうか。 常時接続の環境でいろいろ実験してみたのですが、 ○Cookieを保存しない設定にしても機能する ○Windowsだとブラウザを変えると投票可能(IE/Firefox/Netscapeで実験) ○Macintoshだとブラウザを変えても投票不可能 となっていて謎が深まるばかりです。 phpを使うとできるのでしょうか。またphpを使わなくても実現可能なのでしょうか。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- Takababo
- ベストアンサー率33% (1/3)
リンク先はどこにでもある『クッキーのみ』を参照するタイプのアンケートのようです。 なにか勘違いされているのでは?
- koutarou504
- ベストアンサー率44% (182/407)
とりあえずクッキーは見ている様です。 クリアしたら即投票できました・・・。 (Windows XP SP2 IE6 Opera8.5 にて。) あとは、クッキーが無効の時に他の情報を見るなどの組み合わせがあるかは検証していませんが・・・。 (クッキーを無効にするとクリアしても連続投票が出来ないので、たぶん組み合わせがあると思いますが・・・。OS, ブラウザ, クッキーの可否 などによって何によって判断するか処理が分岐しているのでしょう。) 念の為・・・。 クッキーを消すのと、クッキーを無効にするのは違いますので、ご注意下さい。
お礼
なんとなく自己解決しました。 トピックスのページでCookieを保存させる ↓ ユーザーが投票 ↓ Cookieがあれば投票を受け付けて投票情報を書き込んで保存 Cookieに投票情報があるか、Cookieそのものがないときは投票を受け付けない というようですね。これだとCookieを消したのに投票できないことがあるという理屈が通ります。 ありがとうございました。
- miharahiromi
- ベストアンサー率19% (32/168)
考えるまでもなく単純なことです。 あなたの設定がおかしいだけで、普通にCookieを消せば何回でも投票できるはずです。
お礼
実際にやってみたことはありますか。 質問文にも書いてある通り、Cookieを受け付けない設定にしても一度しか投票できません。消去しても同様です。つまり少なくともCookieだけに頼っているわけではないのです。
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 そこまで試しては無いので中がどうなっているかまではわかりませんが、 PHPに限らずサーバサイドの言語を使えば実現できると思います。 接続された端末の情報は結構いろいろ取得することができるので それらをうまく使って実現されています。
お礼
回答ありがとうございます。 環境変数等を使って記録する方法は思いつくのですが、同じネットワーク内に全く同じ構成のマシンが複数台ある場合に、それらを区別できる方法はないのでしょうかね。
- taka-chan_1978
- ベストアンサー率26% (38/143)
実現可能ですよ。 PHPに限らずPerl,C,Java...でも可能です。 ●ユーザのIP ●ブラウザ ●OS ●投票時間 などユーザ情報を取得することができるので、同じIP、ブラウザ、OSで投票時間が任意の時間内は投票することができないなどの指定をすることで可能です。
お礼
回答ありがとうございます。 やはり複数の環境変数等を組みあわせているのでしょうか。 単一のデータで端末情報を取れないのかな、と思って質問した次第ですが。
- anemone_shrimp
- ベストアンサー率48% (15/31)
単純にIPアドレスとかで判別しているだけでしょう。
お礼
回答ありがとうございます。 同じネットワーク内からでも複数回投票が可能ですので、IPだけを見ているわけではないと思いました。
お礼
Cookieを消したのに投票できないことがあるので色々と質問をしていました。 自己解決しました。 ありがとうございました。