誰かが正確に同じ時間に私のウェブサイト上に2つの同一のアカウントを作成しました。それはどのように可能ですか?
-
21-09-2019 - |
質問
私はこれを信じることができない - 誰かが実際には同じ電子メールを使って自分のソーシャルネットワーキングサイト上で2つのアカウントを作成し、両方のサーバが起きてからそのようなことを防ぐ両面検証チェックを味方だけでなく、クライアントがあるにもかかわらず。しかし、アカウントが正確に同じ時間です両方の作成に述べ、この時間を取得します。
何らかの理由で私は、これはフォームまたは任意のインターフェイスを使用して可能であったことを疑っている - 私はこれが起こったのか見つけるのは好奇心以上だが?誰もがここに任意のアイデアがありますか?
解決
あなたは正しい軌道ませんでした。私は、フォームまたは任意のインターフェースを使用して、これが可能だったことを疑っていますいくつかの理由 - 私は好奇心以上だが、これが起こったのかを見つけるには?誰もがここに任意のアイデアを持っている!
このおそらく、ブラウザのダブルポスト
あなたはUNIQUE
フィールド上email
制約を作り、二人はあなたの社会的ネットワーク内の1つのメールアドレスを共有したくない場合ます。
二重投稿を防ぐため、ページ上の隠しコントロールでランダムな文字列を生成、列にそれを維持し、このコラムUNIQUE
を作るために。
他のヒント
おそらくあなたは、データベース内のこのユニーク制約を処理しないので、 あなたがDBに電子メールの列に一意制約を持っていたならば、あなたは問題のようなものを持っていないでしょう。
あなたはユーザーテーブルのemail
またはusername
列に一意の制約を設定しておく必要があります。
クライアント側の検証に依存しないでください!これらは単に情報としての訪問者のためのものです。常に検証は、サーバー側で行われていることを確認します。
私の推測では、誰かがフォーラムのスパムか何かであなたのサイトを埋めるためにアカウントの数十を追加するためのテストとして、あなたのサイトに加入するためのスクリプトを使用したことです。ちょうど2つのアカウントを追加することで、彼らはそれがいかに簡単かをテストします。どうやら、それは非常に簡単です。次回は、彼らは千個のアカウントを作成して、自動的にスパムを使用してシステムをフラッディングすることを使用する場合があります。幸運このすべてを取り除くためにしようとします。
重要なヒントがすでに提供されています。独自の電子メールアドレスとユニークなユーザ名を強制します。しかし、ちょうどその時あなたのサイトに加入して誰かが、彼らは少なくとも半時間そのIPアドレスからの複数のアカウントを作成することはできませんことを確認してください。次に、これらの自動化スクリプトビット迷惑です。
確かに最も可能性が高い理由は、ユーザが二度のフォームを提出したということです。
これを回避する最善の方法は、POSの後にリダイレクトを使用することですにT法ます。
は、それがこれを行うには非常に簡単です。
(ジャバスクリプトによってトリガ特に)ダブルフォームの送信、サーバーに時間的にかなり近づくことができます。二重投稿については、アクセス・ログ・ファイルを確認します。
私は他のポストの間、あなたはあなたの答えを持っていると思います。おそらく、データベースと誰かダブルクリックあなたに二重のポストを与えて送信ボタンの上にあるフィールドにはユニークなcontstraintはありません。
これはあなたのDBの制約が適切に設定し、経験から、それは通常、最高のTPOは、すぐにまだ上をダブルクリックし、すべてにしようと、それらのユーザーを防ぐために、クリックしますと、クライアント側のクリック(ジャバスクリプト)上、送信ボタンを無効だ持っているとよいでしょうウェブます。