ホームページ >バックエンド開発 >PHPチュートリアル >1 人が 1 つのアカウントのみを登録できるように制限するにはどうすればよいですか (登録防止マシン)? IP?電子メール?検証馬

1 人が 1 つのアカウントのみを登録できるように制限するにはどうすればよいですか (登録防止マシン)? IP?電子メール?検証馬

WBOY
WBOYオリジナル
2016-06-13 13:52:571921ブラウズ

1 人が 1 つのアカウントのみを登録できるように制限するにはどうすればよいですか (登録防止マシン)? IP?電子メール?検証馬?
メールは役に立たず、必要なだけ登録できます。また、確認リンクも役に立ちません。
IP 制限により、動的 IP と共有 IP は機能しません。
確認コードは役に立たないようです。最後に Tencent 確認コードを見たとき、それを認識できました。
認証コードを半日勉強しても、数分で認識するのは面倒ですし、ユーザーにとっても入力するのは面倒です。


ユーザーに ID 番号を尋ねることもできません。一人が 1 つの ID しか持てないように個人を識別する方法はありますか。
また、ユーザーが入力する必要がある情報の量を減らすようにしてください。

-----解決策---------
2 つの設計原則を強調します:

1. すべての安全保護は「相対的」であり、「絶対的な厳密さ」はありません。

2. 第一の目標を明確にし、目標に基づいて方法を決定します。

元の投稿者の要件を見ると、実際には「アンチレジストレーションマシン」ですよね?

「実名」は必要ありませんし、「各 IP に 1 つの番号しか登録できない」ことも必ずしも必要ではありません。これらは「方法」として使用されており、これらの方法は明らかにあまり効果的ではありません。

実は最も効果的なのは「認証コード」です。認証コードがそれほど簡単に解読されるとは考えないでください。まず、あなたの Web サイトが解読に時間を費やすほど価値があるかどうかを確認してください。本当に価値があるのであれば、十分な経済的サポートが得られるはずです。検証コードの実装を改善します:)

さらに、電子メール検証も簡単で効果的な補助手段として使用できます。
------解決策------------------
いわゆる「アンチ登録マシン」は、原則として次のように動作します。重要なタスク (アカウントの登録など) を実行する前に、実際の人間のみが完了できる対話型タスク (複数のキャラクターの識別など) をページ上で設計します。これにより、トークン (検証コードなど) を取得し、このトークンをサーバーに送信することによってのみ、キー タスクを開始できます。

共通画像検証コードは最も単純な実装です。想像力を働かせれば、さまざまな実装方法を創造的に発明できます。たとえば、一部の Web サイトでは、算数の質問などの質問に回答するよう求められていますが、人間が回答を入力するのは簡単ですが、「ロボット」にとっては困難です。もちろん、ハッカーがそれを徹底的に特定するために特にターゲットにすれば、解読できる可能性があります)。

別の例として、サウンドを再生し、聞こえた単語をユーザーに入力するよう求める Web サイトをいくつか見たことがあります。

さらに、Android スマートフォンで「画面を 9 マスにスワイプしてロックを解除する」などのインタラクティブな方法を使用して、登録マシンを防ぐこともできます。つまり、ページ上に 1 つまたはグループの写真を表示し、テキストを使用します。 (テキストも使用できます) (図に示されている) は、ユーザーが一連のクリック操作を実行するようにガイドし、マウス操作が AJAX を介してサーバーに送信されます。正しい場合、サーバーはクライアントにトークンを提供します。

これらの実装方法にはすべて 1 つの特徴があります (画像検証コードを含む)。たとえクラックされても、アルゴリズムを少し調整することで元のクラックを無効にすることができます。安全作業は一度で完了するものではありません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。