2009-05-17 4 views
1

私のウェブサイトには、登録ユーザーとゲストの2種類のユーザーがアクセスします。登録ユーザーは、PHPセッション、Cookie、個々のログインによって追跡され、保持されます。私は管理するのが手間がかかりますので、コンテンツを投稿する権限はほとんどありません。PHPで返される "匿名"ゲストを決定する方法

お気に入り、ショッピングカート、投票用紙、投票用紙、評価、タグ付け、アップロード、コメントを保存するユーザー登録済みかどうかを編集します。同時に、登録されていない他のユーザーからデータを保護します。

一意の訪問者を別の訪問者から判断するためのいくつかのオプションやベストプラクティスと、より多くの寄稿を許可する際のセキュリティ対策について教えてください。彼らのセキュリティ/制限設定を回避して貢献サービスを提供する必要がありますか、私はそれらが真ん中で会い、クッキーなどを許可するためにいくつかの設定を緩めることを期待する必要がありますか?

IPアドレス - このIPはオプションですが一時的なものです。これは、異なるIPを使用してインターネットに再接続しているユーザーのために変更することができ、そのために別のユーザーが最終的に同じIPを共有する可能性があります。 IPは匿名、共有、または誤解を招く可能性もあります。

PHPセッション - セッションではOKですが(有効な場合)、ブラウザを閉じると失われます。

クッキー - セッションデータを保存することはできますが、クライアント側から簡単に(しばしば)無効にすることができます。

ヘッダデータ - 彼の既知の詳細を組み合わせ、ユーザーかもしれない、少なくともグループユーザ - ISP、ブラウザ、オペレーティングシステム、参照Webサイトなど

編集:私はまだ周り私の頭を取得してトラブルを抱えていますすべての重要な要素が含まれています...私たちはゲストのためにクッキーを設定しました。そのセッションに一連の編集とユーザー履歴を添付します。クッキーが削除されると、データは何も付けられずに浮動し、ユーザーはデータを失います。ユーザーがログインすると、ゲストとユーザーのデータをマージする必要があります。

+0

"セッションデータは保存できますが、クライアント側から簡単に(しばしば)無効にできます。"私は丁重に平均、サイト訪問者にもクッキーが何であるかを知っているあなたは関連を使用するサーバか何か –

答えて

3

100%確実なリクエストが一意になるようにするためには、おそらくクッキーが最適なオプションになると思います。もちろん、ミックスを追加することもできます。クッキーが無効になっていると、IPアドレスのような他のオプションの識別を試すことができますが、過度に複雑になる可能性があります。

あなたが言うように、IPアドレスは変更される可能性があり、一部の組織では、要求を異なるIPから発信するようにプロキシサーバーを設定するグループが存在する可能性があります。もちろん、あなたはX_FORWARDED_FORをチェックすることができますが、それらは依然として変更される可能性があります。

ヘッダーデータは、おそらく私が思うに良い結果を得ることが困難になると思われます。あなたが同じブラウザ、OS、IPを持つ組織を持っているなら、それは同じものとして人々を見せるでしょう。同じ組織にいなくても、同じように見えるかもしれません。つまり、通常はトラフィックをプロキシサーバー経由でルーティングするAOLユーザーで、おそらく大半がAOLブラウザーを使用して、同様のヘッダーを提供します。

これら2つのオプションのうち、IPは実装が簡単ですが、明らかに私が概説した問題があります。ヘッダー内の一意のデータをチェックすることは、私が思うに、絶対的な痛みであることがわかります。

明らかに、ブラウザを閉じるとセッションが失われ、システムが登録ユーザーであるかのように動作するように見えるので、Cookieはより明白な選択です(特に、永続的である)。

+1

を販売している場合を除き、あなたが黒の帽子に行きたい場合は、...反対するだろう:https://panopticlick.eff.org/を(ただし、私は同意する、クッキーは答えである)。 – mlissner

1

私はちょうどセッションに行くだろう。

ユーザーは、(NATのとプロキシの後ろに重複が整理しやすく)IPアドレスを変更、修正/(確かに可能)クッキーを削除、または(スイッチングブラウザから簡単に)自分のヘッダーを変更することができます。

、彼らが特定されたくない場合は、ゲストを特定のない安全な方法はありません。ちょうど標準と一緒に行ってください:クッキー/セッション。

1

セッションを使用する必要があります。 セッションIDはユーザがブラウザを閉じますとき、彼らが消去されることはありません クッキーに保存されている(またはクッキーを受け入れないユーザーのために、PHPSID引数をURLに格納されている)されて、それはちょうどあなたが設定方法によって異なりますあなたのセッション/クッキーオプション セッションの有効期間を任意に設定できますので、これを気にしないでください。 ます。また、ログイン時にマージすることができ、データに関しては(クッキーを有効にする)これについてユーザーに を教えてください、それは適切な方法でそれをマージする、あなたの仕事です、またはオプションを保存するかどうでもユーザーに尋ねますか、ない。

関連する問題