0

私は最近、コミックサイトに機能するカスタムの好き嫌い機能を実装しました。

しかし、それは私をすべてのユーザーのためのログインシステムの実装に向けて押し進めていると感じています…私は本当にしたくありません(私と私のファンのために)

現在、この関数は次のように機能します。

1)ボタンの値(id ='like'またはid='dislike')をJquery経由でphpスクリプトに渡す

2)スクリプトは、最初にその指定されたコミックIDに対してIPがデータベースに存在するかどうかを確認します...存在しない場合は、ユーザーのIPと現在のコミックIDを挿入し、指定されたコミックIDのいいねの合計をインクリメントします...すでに存在する場合は、そのユーザーの情報を削除し、いいねの総数を減らします。

問題は、複数のファンが同じIP(ネットカフェなど)の漫画を「好き」または「嫌い」にしたり、同じユーザーが別のコンピューターの漫画を好きになったりした場合にどうなるかということです。これにより、ユーザーのセッションに一意の値が生成され、IPに対して保存されます。

しかし、そのユーザーが、一意のセッションIDの有効期限が切れた後、後で戻ってきて、好きなものを嫌いなものに変更したい場合はどうでしょうか。または、同じユーザーが何らかの方法でセッションIDを期限切れにし(ログオフしてから再度ログインする、ブラウザを閉じるなど)、複数回投票できるようになった場合はどうなりますか?

この場合、ログインシステムを作成する必要がありますか?

ありがとう

4

1 に答える 1

0

一般ユーザーのIPアドレスはかなり動的に変化する可能性があるため、ログインシステムを作成せずにこれを実装するのは困難です。あまり技術的になる必要はないと思います。ユーザーデータベースには、user_id、username、salt、およびハッシュされたパスワードを含めることができ、好き/嫌いのデータベースはIPの代わりにuser_idを使用します。そうすれば、ユーザーはどこからでもログインでき、問題なく動作します。

ログインするには、ユーザー名でセッションを作成するフォームを生成するだけで十分な場合があります。しばらく時間がかかる場合がありますが、最初に正しく実行すると、追加の労力をあまりかけずにスケーリングできます。

于 2013-02-22T16:39:18.203 に答える