2

私はコードを調べて、非常に必要なハウスクリーニングを行っています。エラーの多くは、スコープが正しくない変数を扱っています。そうすることで、エラーログ/電子メールを調べたところ、エラーの大部分がボット/スパイダーによって引き起こされていることに気付きました. ボット/スパイダーがセッション変数を使用しているとは思いませんが (私は正直に調べていません)、使用している/していない場合でも、ボット/スパイダーがアプリケーションでより多くのエラーを生成させる原因となるものはありますか?

スパイダー/ボットが不正な/null URL 変数を渡す箇所をいくつか修正しました。それはわかりますが、通常のページ処理だけでも、全体として、人間によるエラーよりもボットによるエラーの方が多いことがわかります。私はそれらを非難しているわけではありませんが (それが私たちのコードであることは知っています)、なぜそうなるのか興味があります。

私の推測では、スコープ外の変数を処理する際のエラーは、おそらくそれらの変数のスレッド化が原因であると考えられます。しかし、ボットがそれに影響を与えることはできません。それともすべきですか?

4

1 に答える 1

4

あなたはすでにそのほとんどを釘付けにしています。ほとんどのボットは、ボットがやりたいように物事を行います。別のリンクからページに直接アクセスし、一部のボットはジャンクを含むフォームを送信して、反対側に何があるかを確認します. 予想とは異なる方法でページにアクセスする可能性があるため、変数やオブジェクトは、人間が消費することを意図した方法で存在しない可能性があります。

寝室の窓から家に入ることを想像してみてください (ログイン画面の後ろにあるセキュリティ保護されていない入り口)。

家の中を歩き回ることができます (ウェブサイトをナビゲートします)。

玄関のドアを歩いたときにそのステップをスキップしたためにアラームが無効にならなかったため、アラームが鳴るまで(ログインしていませんでした)。

これでアラームが鳴ります (管理者にメールが届きます)。

デッドボルトにはあなたが持っていない内側の鍵が必要なため、正面玄関から家を出ることができません (セッションがないためログアウトできません)。

今、あなたは裏口から出ようとしましたが、番犬が出ていて、6 フィートのフェンスに対処しなければなりません (より多くのエラーを引き起こすランダムな出口戦略)。

于 2013-01-22T18:31:12.403 に答える