2

私たちはやっています

    Appliation["OnlineUsers"] += 1 in Session Start, 

ただし、Google ボットがサイトをスキャンするたびに、この数は非常に急速に増加するため、一般的にはこれを回避したいと考えています. この数は、実際のユーザーに対してのみ増やしたいと考えています。

他の提案があればお知らせください

4

2 に答える 2

2

正規表現が必要な場合は、多くのスパイダーと一致するものと (私が見つけたもの) 一般的な攻撃の試みに一致するものを使用できます。

    '' portions of the browser string which indicate a spider
    Dim re As New Regex("bot|spider|slurp|crawler|teoma|DMOZ|;1813|findlinks|tellbaby|ia_archiver|nutch|voyager|wwwster|3dir|scooter|appie|exactseek|feedfetcher|freedir|holmes|panscient|yandex|alef|cfnetwork|kalooga|Charlotte|isara|butterfly|kilomonkey|larbin|postrank|webcollage|netcraft|Netintelligence|baypup|dragonfly|EmailSiphon|ExactSearch|LucidMedia|Mail\.Ru|MSIndianWebcrawl|PycURL|Python-urllib|Qryos|Robozilla|SBIder|StackRambler|BoardReader|scoutjet|allrati|192\.comAgent|cizilla|dnsdigger|qwant", RegexOptions.Compiled Or RegexOptions.IgnoreCase)

    '' attacks
    Dim badRe As New Regex("morfeus|nv32ts|dragostea|zmeu|DataCha0s|GT::WWW|CZ32ts", RegexOptions.IgnoreCase Or RegexOptions.Compiled)

それから

If re.IsMatch(userAgentString) Then ' it's a spider

攻撃の試みについても同様です。

于 2012-08-15T16:11:59.593 に答える
1

コードに USER AGENT のチェックを組み込むことをお勧めします。この意味でチェックを実行できるように、すべてのボットは自分自身をそのように識別する必要があります。

ただし、セッションの開始を確認するのではなく、別の方法でカウントを行う必要があります。

于 2012-08-15T15:56:29.680 に答える