0

ログインしたIPを10回以上認識し、それを「信頼できる」ソースと見なすことができるカスタムフィッシング対策システムを作成するためのより「効果的な」方法を誰かが知っているかどうかを尋ねるために、今日すべての人に連絡します。 IP(少なくとも5回以下のアクセス)は「ブラックリストに登録」されており、アカウントをブロックします。

これは私のコードです:

    <?php
     $sql="select * from user_table where netuser_id = $_SESSION[netuser_id]";
     $res=mysql_query($sql);
     $data_set=mysql_fetch_array($res);
     if($data_set["current_record"]!=$data_set["last_record"])
     {
?>
<!-- Phishing Announcement -->
You've been phished! D: Please change your account password.
<!-- Phishing Announcement -->
<?php
     }
?>

このコードはやや効果的ですが、私の最初の考えは次のようなものを作ることでした。

<?php

$sql="select count(*) as a from current_ips where netuser_id = ".$_SESSION["netuser_id"]." and current_ips = $_SERVER[REMOTE_ADDR];";
$result = mysql_query($sql);
$phished=mysql_num_rows($result);
        if($phished==0)
        {
?>
<!-- Phishing Announcement -->
You've been phished! D: Please change your account password.
<!-- Phishing Announcement -->
<?php
        }
        else
        {
?>
<?php
        }
?>

ただし、認識されないIPによって約3回アクセスされた場合にのみコードを開始させたいことを考えると、このコードはそれほど効果的ではありません。また、認識されたIPが5〜10回以上アクセスされた場合は、自分自身を無効にします。

例:

私のIPは私のアカウントに合計230/270回アクセスしました。私のいとこのIPは私のアカウントに20回アクセスしました。友達が私のアカウントに10回アクセスしました。そして私の妹もそうです。

したがって、IPは静的なものであり、サイトにアクセスするたびに機能するため、「信頼できる」ソースとして分類されます。:)

しかし、認識されないIP(父の家)を介して自分のアカウントにアクセスするとします。フィッシングシステムを有効にして、パスワードを変更するまで自分のアカウントにアクセスできないようにします。

どんな助けでも大歓迎です:)

4

1 に答える 1

2

多くの異なるプラットフォーム ( Google、Facebook、およびいくつかの主要な銀行) は、SMS 認証を使用した 2 要素認証システムを使用してます。

いずれにせよ、ユーザーが 2FA を使用して認証されると、データベースにも保存するシークレットを含む Cookie を保存できます。これにより、これが認識可能なコンピューターであることを確認できます。この Cookie は 30 日ほどで期限切れになります。

このようにして、ユーザーが「信頼されていないコンピューター」から来ているときに追加のセキュリティ対策 (セキュリティの質問など) を使用し、認証されると、その Cookie を保存して、次回のアクセス時にそれらの対策からユーザーを救うことができます。

このアプローチは、現在ではほとんど信頼できる識別方法ではない IP に依存するよりも優れています。

于 2013-02-05T00:02:48.163 に答える