- 締切済み
WEBプログラムによる回数制限
いつも、拝見させていただいております。 自分で調べた結果、解決しなかったのでご質問させていただきます。 今、Facebookのいいね!のようなボタンを作ろうと考えているのですが、このボタンをログインなしで誰でも気軽に押せるようにしたいと思っております。 その際に、一日三回までと制限を設けたいと思うのですが、ガラケーだと個体識別番号があるのですが、パソコン、スマートフォンからだと、IP制限をかけるかブラウザにキャッシュ(Cookie)情報を保存という形になると思います。 しかし、IP制限をかけた場合はIPを変えられたら再度押せてしまい、ブラウザにキャッシュ情報を保存した場合でも、キャッシュを消すか、別のブラウザからアクセスすれば再度押せてしまいます。 その場合、上記以外の方法で確実に制限をかける方法はありますでしょうか? 使用しているプログラムはPHPです。 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- pringlez
- ベストアンサー率36% (598/1630)
>その場合、上記以外の方法で確実に制限をかける方法はありますでしょうか? ログイン無しで「確実」という条件をつけるのならそら不可能です。当たり前です。で、一つの方法しか実装していけないなどの制約があるはずはないでしょうから、なら「ほぼ確実」を目指して、あなたが書いている方法を複数組み合わせて実装します。 ・個体識別番号 ・IP ・Cookie は最低限行うとして、それだけでもいいかもしれませんが、ついでにlocalStorageも足してもいいと思います。
- weavaest
- ベストアンサー率15% (157/1020)
回答じゃないのですが、気になったので書きました。 なので読み飛ばして頂いて結構ですし、削除依頼して頂いても構いません。 技術的な質問がしたいのであれば、言葉使いに気をつけるべきだと思います。※敬語とかって意味ではないです。 何に対してどういうことがしたいってのが曖昧な書き方だと、欲しい回答が得られないと思います。 一日三回って何に対して制限を掛けたいのでしょうか。人でしょうか、マシンでしょうか、 IPでしょうか、アカウントでしょうか、ブラウザでしょうか。 例えば、人であれば人を識別する仕組みが必要ですよね。ある人が自分のスマホ、自宅のPC、職場のPC、ネカフェのPCを利用した場合にソフトウェア的に識別することが可能かどうかを考えますよね。恐らく不可能でしょうから、この質問はソフトウェアの質問としては成立しないですよね。 また、質問文ではサラッと書いてありますが、IPを変えるとか、キャシュのクリアまでを条件にしたいのであれば、そういった条件も全て書き出さないと、使えない方法を回答としてもらうことになると思います。
- Taiyonoshizuku
- ベストアンサー率37% (183/489)
無いです~。 会員登録させて、そのシステム内で何回クリックされたか取っておく必要があるよ。