目次
返信内容:
ホームページ バックエンド開発 PHPチュートリアル 他人が確認コードをスワイプできないようにするにはどうすればよいですか?

他人が確認コードをスワイプできないようにするにはどうすればよいですか?

Oct 19, 2016 am 10:40 AM
laravel linux mysql php

Keng 製品によって設計された登録/ログインでは、携帯電話認証コードを取得できますが、グラフィック認証コードは含まれていません。そして現在、検証コードを取得するためのインターフェースが何度もスワイプされています。過去 1 時間で何千ものリクエストがあり、それらはすべて異なる IP と異なる携帯電話番号からのものです....

グラフィック確認コードを追加する以外に、スワイプを防ぐにはどうすればよいですか?

返信内容:

Keng 製品によって設計された登録/ログインでは、携帯電話認証コードを取得できますが、グラフィック認証コードは含まれていません。そして現在、検証コードを取得するためのインターフェースが何度もスワイプされています。過去 1 時間で何千ものリクエストがあり、それらはすべて異なる IP と異なる携帯電話番号からのものです....

グラフィック確認コードを追加する以外に、スワイプを防ぐにはどうすればよいですか?

グラフィックの確認コードを除いて、私が考えることができるすべて:

  1. 携帯電話番号に基づいて、携帯電話ごとに 1 日に最大 N 個の確認コードを送信できます。 LZでは既に追加されているようです。

  2. IP に基づいて、IP ごとに 1 日に送信される N 個の確認コードの最大数を制限します... -- 欠点: 通常のユーザーを誤って殺害するのは簡単なので、注意して使用してください

  3. 【究極の手法】ユーザー行動のビッグデータ分析に基づく

ユーザーの行動に基づいて分析するにはどうすればよいですか?簡単な方法を考えました:

まず第一に、通常のユーザーは確認コードリクエストの送信に加えて、CSS/JS/HTML/画像などのページ上の他のリソースにもアクセスする必要があります。

ただし、ブラシの場合は、これらのリソースに具体的にアクセスできない可能性があります。

ユーザーがページにアクセスしたときに human参数存在session中,每当其请求页面中的一个资源则human += 1。等到发送验证码的接口的时候,取出来这个human参数看看其值是多少,正常的一个用户这个human值应该是大于某个值的(比如5),小于的则应该就是刷子。(为0 を記録できるようにします (ブラシである必要があります)


私が言ったことは比較的単純で、いくつかのリクエスト間の間隔、ログインまたは登録ボタンをクリックする前のマウスの移動軌跡、マウスが押されて閉じられた時間などを記録できます。包括的な分析のためにそれらを記録します。

Google のような reCAPTCHA を引用またはコピーしていただければ幸いです。ワンクリックで人や機械のブラシを自動的に識別します。

New Wolf Microwave のように~ ユーザー名とパスワードが存在する場合にのみ、検証馬が送信されます。


問題は、携帯電話の確認コードを介してログインするときにパスワードを追加できないことです。登録したパスワードは何気なく入力してもあまり意味はありません

@locatejoe

パスワードを表示する代わりに、ユーザー名とパスワードが MD5 値として取得され、結合され、ハッシュ化され、bloomFilter と同様のフィルターにマッピングされます。
bloomFilter が 不存在 を返す場合、検証馬は送信されません。
bloomFilter はスペースをあまり取らず、非常に高速です。

以前にもこの問題が発生しました

2 日間で 20,000 件を超えるメッセージが記録されました

解決策:

1. グラフィック確認コードを追加します。
2. 同じ携帯電話が同じ期間に 3 つのメッセージしか送信できないことを決定します。
3. 同じ携帯電話と IP の場合、テキスト メッセージの送信時間を決定します。 30 分以内に使用されると送信されません

とにかく色々な方法があるので試してみてください

IP と携帯電話番号が異なる場合は、グラフィック確認コードを追加できます。 。 。

  • グラフィック検証コードを追加します。フォントの色が単色になりすぎないようにしてください。

  • テキストメッセージが送信され、フロントエンドCookieによって判断され、PHPに個別に保存された後に間隔が必要です

  • インターフェースは、要求されたIPアドレスと携帯電話番号を決定する必要があります。前回からの時間が短すぎる場合、送信は許可されません

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

Deepseek Webバージョンの入り口Deepseek公式ウェブサイトの入り口 Deepseek Webバージョンの入り口Deepseek公式ウェブサイトの入り口 Feb 19, 2025 pm 04:54 PM

Deepseek Webバージョンの入り口Deepseek公式ウェブサイトの入り口

DeepSeekをインストールする方法 DeepSeekをインストールする方法 Feb 19, 2025 pm 05:48 PM

DeepSeekをインストールする方法

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

PHPでHTML/XMLを解析および処理するにはどうすればよいですか?

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

母音を文字列にカウントするPHPプログラム

Bitget公式ウェブサイトのインストール(2025初心者ガイド) Bitget公式ウェブサイトのインストール(2025初心者ガイド) Feb 21, 2025 pm 08:42 PM

Bitget公式ウェブサイトのインストール(2025初心者ガイド)

See all articles