問題タブ [bots]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bots - プログラムによるボット検出
サイト上の特定のユーザーがボットであるかどうかを分析するコードを作成する必要があります。ボットの場合は、特定のアクションを実行します。ボットで必要なユーザー エージェントを指定できるため、ユーザー エージェントを確認することは、フレンドリーなボット以外では成功しません。私は無愛想なボットの行動を追っています。私がこれまでに持っていたさまざまなアイデアは次のとおりです。
- ブラウザIDをお持ちでない場合
- セッション ID をお持ちでない場合
- クッキーを書き込めません
もちろん、正当なユーザーがボットのように見える場合もありますが、それは問題ありません。ボットを検出する、またはボットのように見えるものを検出するプログラムによる他の方法はありますか?
artificial-intelligence - AI Bot プログラミング環境
課題の一部として、マルチプレイヤー環境 ( BZFlags ) でボットをプログラムすることができた人工知能コースを終えたところです。私ができたのは、ボットが世界とやり取りするようにプログラムし、他のボットや人間に対してキャプチャー ザ フラッグをプレイすることでした。
私が知りたいのは、同じことができる環境が他にあるということです (ゲームまたは特殊な環境でのボットのプログラミング)。
BZFlags を使用してこれを行うことができたのは、BZFlags が提供する API を提供しているため、ボットにコマンドを送信して、ボットの周りの世界に関する情報を見つけることができるからです。
php - PHPでボットを認識する方法は?
ユーザーの統計を作成していますが、ボットからの訪問をカウントしたくありません。
これで、ページが呼び出されるたびに mysql が 1 ずつ増える基本的な php ができました。
ただし、ボットもカウントに追加されます。
誰でも方法を考えることができますか?
主に、物事を台無しにする主要なものです。Google、Yahoo、Msn など。
encryption - MMORPG プロトコルの暗号化
最近の MMORPG 開発者のクライアント/サーバー プロトコルの暗号化の傾向を知っている人はいますか?
長所と短所は次のとおりです。
暗号化プロトコル:
- クライアント/サーバープロトコルに関する企業秘密をある程度保護しますか?
- ボットは止められません。変更されるのは、人々が画面の状態を読み取ってマウス + キーボード イベントをトリガーするボットを作成し、その後ボットを停止するのではなく、ボットの開発を緩和するだけであるためです。ボット開発の供給はいくらか少なくなっていますが、需要はまだありますが、rentacoder.com で入札単価が高くなるだけです。
通常の平文:
- 開発者が独自のデータグラムをクライアント/サーバー プロトコルに挿入できるため、より高度なボット。(つまり、壁を通り抜けたり、テレポートしたり...サーバー側がチェックする必要があるため、インジェクションを介してエクスプロイトにパッチを当てる間の開発コンテストにつながります(時間がかかります)
scripting - スクリプターがあなたのウェブサイトを非難するのを止める
回答を受け入れましたが、残念ながら、元の最悪のシナリオにとどまっていると思います。簡単な説明: キャッシング/Web ファームはヒットを追跡することを不可能にし、任意の回避策 (キャッシュされていない Web ビーコンの送信、統合テーブルへの書き込みなど) は、ボットよりもサイトの速度を低下させます。高レベルで役立つ Cisco などの高価なハードウェアがいくつかある可能性がありますが、代替手段として全員に CAPTCHA を適用する場合、コストを正当化するのは困難です。後でより完全な説明を試み、将来の検索者のためにこれを整理します (ただし、コミュニティ wiki であるため、他の人も試してみてください)。
状況
これは woot.com でのバケツ販売についてです。私は Woot の子会社である Woot Workshop の社長であり、デザイン、製品説明の執筆、ポッドキャスト、ブログ投稿、フォーラムのモデレートを行っています。私は CSS/HTML を扱っていますが、他の技術についてはほとんど知りません。私は開発者と緊密に協力し、ここにあるすべての回答 (および私たちが持っていた他の多くのアイデア) について話し合いました。
ユーザビリティは私の仕事の大きな部分を占めており、サイトをエキサイティングで楽しいものにすることが残りのほとんどです。そこから、以下の 3 つの目標が導き出されます。CAPTCHA はユーザビリティを損ない、ボットはくだらないセールから楽しさと興奮を盗みます。
ボットはランダム クラップ セールのために、1 秒間に何十回も画面をスクレイピング (および/または RSS をスキャン) してフロント ページをバタンと叩いています。彼らがそれを見た瞬間、プログラムの第 2 段階がトリガーされ、ログインして [I want One] をクリックし、フォームに入力して、がらくたを購入します。
評価
lc : このメソッドを使用する stackoverflow やその他のサイトでは、ほとんどの場合、認証された (ログインしている) ユーザーを扱っています。
Woot では、匿名 (ログに記録されていない) ユーザーが私たちのホームページを閲覧できます。言い換えれば、スラミングボットは認証されていない可能性があります (そして、IP アドレス以外では基本的に追跡不可能です)。
そのため、IP のスキャンに戻ります。これは、a) クラウド ネットワーキングとスパムボット ゾンビのこの時代ではまったく役に立たず、b) 1 つの IP アドレスから来るビジネスの数を考えると、あまりにも多くの罪のない人を捕まえます (言うまでもなく、非静的 IP ISP と、これを追跡しようとするとパフォーマンスが低下する可能性があります)。
ああ、そして、人々が私たちに電話をかけることは、考えられる最悪のシナリオになるでしょう. 彼らにあなたに電話してもらえますか?
BradC : Ned Batchelder の方法はかなりクールに見えますが、サイトのネットワーク用に構築されたボットを打ち負かすようにかなりしっかりと設計されています。私たちの問題は、ボットが私たちのサイトを打ち負かすために特別に構築されていることです. これらの方法のいくつかは、スクリプターがボットを進化させてハニーポットを無視し、フォーム ID の代わりに近くのラベル名をスクリーン スクレイプし、JavaScript 対応のブラウザー コントロールを使用するまで、短期間は機能する可能性があります。
lc 再び: 「もちろん、誇大宣伝があなたのマーケティング計画の一部である場合を除きます.」はい、間違いなくそうです。アイテムが現れたときの驚きと、それを手に入れることができたときの興奮は、おそらく実際に得られるがらくたと同じかそれ以上に重要です. 先着順を排除するものはすべて、がらくたを「勝つ」というスリルを損ないます。
novatrust : そして、私は、新しいボット オーバーロードを歓迎します。実際には、サード パーティのアプリがサイトをスキャンして製品情報を取得できるようにするために、RSS フィードを提供していますが、メイン サイトの HTML よりも先にスキャンすることはできません。私の解釈が正しければ、あなたの解決策は、目標 1 を完全に犠牲にして、ボットが大部分を買うという事実を放棄することによって、目標 2 (パフォーマンスの問題) を助けます。あなたの最後の段落の悲観論は私には正確だと感じたので、私はあなたの回答に賛成票を投じました. ここには特効薬はないようです。
残りの応答は一般的に IP 追跡に依存していますが、これも役に立たず (ボットネット/ゾンビ/クラウド ネットワーキングで)、有害です (同じ IP の宛先から来る多くの罪のない人を捕まえます)。
他のアプローチ/アイデアはありますか? 私の開発者は「CAPTCHA をやりましょう」と言い続けていますが、私たちのがらくたを欲しがっているすべての実際の人間に邪魔にならない方法があることを願っています.
元の質問
非常に高い認識価値を持つものを安く販売していて、数量が非常に限られているとします。このアイテムをいつ販売するかは誰にもわかりません。そして、100 万人以上の人々が定期的にあなたの商品を見に来ます。
スクリプターやボットは、[a] あなたがそのアイテムをいつ販売しているかをプログラムで把握し、[b] 彼らが最初にそれを購入したことを確認しようとします。これには 2 つの理由があります。
- あなたのサイトは人間以外によって非難され、すべての人にとってすべてが遅くなります.
- スクリプターは製品を「獲得」することになり、常連はだまされたと感じます。
一見明白な解決策は、ユーザーが注文する前にジャンプするためのフープを作成することですが、これには少なくとも 3 つの問題があります。
- CAPTCHA を解読したり、猫を見つけたり、数学の問題を解いたりする必要があるため、ユーザー エクスペリエンスは人間にとって最悪です。
- 認識された利益が十分に高く、群衆が十分に大きい場合、一部のグループは微調整を回避して軍拡競争につながる. (これは、微調整が単純であるほど特に当てはまります。非表示の「コメント」フォーム、フォーム要素の再配置、それらの誤ったラベル付け、非表示の「落とし穴」テキストはすべて一度に機能し、その後、この特定のフォームをターゲットにして戦うために変更する必要があります。 .)
- スクリプターがあなたの微調整を「解決」できなくても、彼らがあなたのフロントページをバタンと閉め、スクリプターが注文を手動で記入するように警報を鳴らすのを防ぐことはできません. [a] を解決することでアドバンテージを得たとしても、注文ページに到達する最初の人間になるため、[b] を勝ち取る可能性は高くなります。さらに、1. は引き続き発生し、サーバー エラーが発生し、すべてのユーザーのパフォーマンスが低下します。
もう 1 つの解決策は、頻繁にアクセスする IP を監視するか、それらをファイアウォールからブロックするか、または別の方法で IP が注文されないようにすることです。これにより 2. が解決され、[b] が防止される可能性がありますが、IP のスキャンによるパフォーマンスへの影響は大きく、スクリプト作成者が独自に引き起こした問題よりも 1. のような問題を引き起こす可能性があります。さらに、クラウド ネットワーキングとスパムボット ゾンビの可能性があるため、IP チェックはほとんど役に立ちません。
3 番目のアイデアは、注文フォームをしばらくの間 (たとえば 0.5 秒) 強制的に読み込ませることで、迅速な注文の進行が遅くなる可能性があります。実際のユーザー。
目標
- スクリプトを使用しない人間にアイテムを販売します。
- ボットによって速度が低下しない速度でサイトを実行し続けます。
- 「通常の」ユーザーが人間であることを証明するために完了するタスクを実行するのに煩わされないでください。
c# - C# で IM ボットを作成する方法
サーバー関連のタスクを実行するために送信された特定のコマンドを受け入れて解釈できる複数の im ネットワーク (aim、gtalk、yim など) で IM ボットを作成する簡単な方法はありますか?
たとえば、RSS フィードを管理するための Web サイトがあるとします。IM ボットにコマンドを送信して、コレクションに別のフィードを追加したいと考えています。IM ボットは、私のスクリーン ネームを Web サイトでの以前のセットアップからの私のアカウントに関連付けます。
c# - 正直な Web クローラーの検出
ボットからのリクエストを(サーバー側で)検出したいと思います。現時点では、悪意のあるボットは気にしません。うまく機能しているものだけです。ユーザー エージェント文字列を「bot」などのキーワードと照合する方法がほとんどであるアプローチをいくつか見てきました。しかし、それはぎこちなく、不完全で、維持できないようです。それで、誰かがより堅実なアプローチを持っていますか?そうでない場合、すべての友好的なユーザー エージェントの最新情報を入手するために使用するリソースはありますか?
興味がある方のために: 私は検索エンジンのポリシーに反することをしようとしているわけではありません。サイトのセクションで、ページのわずかに異なるいくつかのバージョンのうちの 1 つがユーザーにランダムに表示されます。ただし、Web クローラーが検出された場合は、常に同じバージョンを提供して、インデックスの一貫性を保ちます。
また、私は Java を使用していますが、このアプローチはどのサーバー側テクノロジーでも似ていると思います。
instant-messaging - IM ボットの作成
IM ボットを作成しようとしていますが、必要なリソースが見つかりません。
アップデート
Imified で gtalk ボットがオンラインに表示されない (応答しない) という問題がありましたが、現在は機能しているため、これを閉じます。
このチュートリアルは機能します。
元の質問は参照目的で削除されていません
まず、How to Write Your Own IM Botに関する優れたチュートリアルを見つけましたが、これは死んだように見える IMified プラットフォームを使用しています (2008 年 9 月の最後のブログ投稿、ヘルプ フォーラムへのフィードバックはありません...)。
彼らのサービスを使用してベータボットを作成することはできましたが、ヘルプフォーラムでわかるように、オンラインになることはありません.
それで、誰かがそれをすることができましたか?
ノート
私は次のようなものを探しています:
- 無料
- PHP* またはいくつかの無料のホスティング ソリューション (IMified などですが、動作します) で動作します。
- Googleトークで動作します(他のものはあまり気にしません)
もちろん、これらの基準に適合しないソリューションについての回答を投稿してください。役立つ場合があります。
*GoDaddy で Linux ホスティング プランを利用しています
security - 行儀の良いボットをブロックせずに Web スクレイピングをブロックするにはどうすればよいですか?
製品の大規模なデータベースを備えた e コマース Web サイトを構築しています。もちろん、Goggle が Web サイトのすべての製品をインデックスに登録すると便利です。しかし、競合他社が Web サイトをWeb Scrapeして、すべての画像と製品の説明を取得したいと考えている場合はどうでしょうか?
同様の製品リストを持ついくつかのWebサイトを観察していましたが、CAPTCHAを配置しているため、「人間のみ」が製品リストを読み取ることができます. 欠点は... Google、Yahoo、またはその他の「行儀の良い」ボットには見えないことです。
api - APIを使ったツイッターボット
ユーザーメッセージに即座に返信するボットを書いています。私が彼らのAPIを読んだことから、1分ごとに更新を確認することしかできません。
新しいメッセージをサーバーにすぐにプッシュするプッシュ機能またはサードパーティのサービスはありますか?
私はこれを行うことができるボットを見てきました.