各フロントエンド大手の反爬虫策
2380 ワード
1.はじめに
1枚のページについては、構造がよく、内容がはっきりしていることを望んでいます.そうすれば、検索エンジンが正確に認識することができます.逆に、電子商取引サイトの取引額、教育サイトのテーマなど、内容が簡単に入手されることを望んでいない光景もあります.これらの内容は、往々にして製品の生命線であり、効果的に保護しなければならないからだ.これが爬虫類と反爬虫類という話題の由来です.
2.一般的な反爬虫策
しかし、世界には虫に完璧に逆らうサイトはありません.
ページがユーザーの前で正常に表示され、爬虫類の機会を与えないようにするには、実物とロボットを識別する必要があります.そのため、エンジニアたちは様々な試みを行いました.これらの戦略の多くはバックエンドに使用され、現在の比較的通常の単有効な手段でもあります.例えば、 User-Agent+Referer検出 アカウント及びCookie検証 認証コード IP制限頻度 爬虫類は無限に実物に近づくことができます.例えば、 chrome headlessまたはphantomjsは、ブラウザ環境 をシミュレートするために使用される. tesseract識別検証コード 代理IP淘宝は を買うことができます
だから100%の反爬虫策は?存在しない.もっと多いのは体力の仕事で、難易度の問題です.
しかし、フロントエンドエンジニアとして、ゲームの難易度を増やして、xin意(bing)思(kuang)の反爬虫策を設計することができます.
3.先端と反爬虫類
3.1 FONT-FACEパッチワーク
例:猫眼映画
猫眼映画では、興行収入のデータに対して、純粋な数字ではない.ページはfont-faceを使用して文字セットを定義し、unicodeを介して表示をマッピングします.すなわち、画像認識を除いて、数字を認識するには、文字セットを同時に這い出さなければならない.
また、ページをリフレッシュするたびに、文字セットのurlが変化し、登りコストが増加するのは間違いありません.
3.2 BACKGROUNDパッチワーク
例:美団
fontの戦略と似ていて、美団ではbackgroundパッチワークが使われています.数字は実は画像で、backgroundオフセットによって異なる文字が表示されます.
また、ページによって、画像の文字のソートにも違いがあります.しかし、理論的には0-9と小数点を生成するだけです.
3.3文字挿入
例:微信公衆番号の文章
一部の微信公衆番号の文章には、様々な謎の文字が挿入され、スタイルを通じてこれらの文字を隠している.この方法は驚くべきことだが...あまり認識や濾過が難しくなく、もっとよくできるが、脳の穴だろう.
ところで、私の携帯電話の通信量は誰に清算してもらえますか?
3.4擬似要素非表示
例:自動車の家
自動車の家では、肝心なメーカー情報を、偽要素のcontentにした.これも一つの考え方です:ホームページを登って、cssを解析しなければならなくて、偽要素のcontentを手に入れる必要があって、これは爬虫類の難易度を高めました.
3.5要素位置決めカバー式
どこへ行きますか.
また、数学が好きな人はどこへ行くのか、4桁の航空券の価格について、まず4つの
これは爬虫類がcssを解析するのはまだだめで、数学の問題をしなければならないことを示しています.
3.6 IFAMME非同期ロード方式
例:網易雲音楽
網易雲音楽ページが開くと、htmlソースコードには
しかし、この方式がもたらす難易度は大きくなく、非同期とiframe処理で曲がっただけで(あるいは他の原因があり、完全に反爬虫類に基づいているわけではありません)、seleniumでもphantomでも、iframeのcontent情報を入手できるAPIがあります.
3.7文字分割式
例:全ネットエージェントIP
エージェントIP情報を示すページでは,IPの保護にも苦労する.
彼らはまずIPの数字と記号をdomノードに分割し、真ん中に人を惑わす数字を挿入し、爬虫類がこの戦略を知らなければ、自分が成功して数値を手に入れたと思っている.しかし、爬虫類が気づいたら、よく解決します.
3.8文字セット置換
例:サイドをどこに移動するか
同じように爬虫類を騙すのはどこへ行く移動版ですか.
htmlには3211と書いてあるのに、視覚的には1233が展示されています.文字セットを再定義し、3と1の順序がちょうど入れ替わった結果...
転載:http://litten.me/2017/07/09/prevent-spiders/
1枚のページについては、構造がよく、内容がはっきりしていることを望んでいます.そうすれば、検索エンジンが正確に認識することができます.逆に、電子商取引サイトの取引額、教育サイトのテーマなど、内容が簡単に入手されることを望んでいない光景もあります.これらの内容は、往々にして製品の生命線であり、効果的に保護しなければならないからだ.これが爬虫類と反爬虫類という話題の由来です.
2.一般的な反爬虫策
しかし、世界には虫に完璧に逆らうサイトはありません.
ページがユーザーの前で正常に表示され、爬虫類の機会を与えないようにするには、実物とロボットを識別する必要があります.そのため、エンジニアたちは様々な試みを行いました.これらの戦略の多くはバックエンドに使用され、現在の比較的通常の単有効な手段でもあります.例えば、
だから100%の反爬虫策は?存在しない.もっと多いのは体力の仕事で、難易度の問題です.
しかし、フロントエンドエンジニアとして、ゲームの難易度を増やして、xin意(bing)思(kuang)の反爬虫策を設計することができます.
3.先端と反爬虫類
3.1 FONT-FACEパッチワーク
例:猫眼映画
猫眼映画では、興行収入のデータに対して、純粋な数字ではない.ページはfont-faceを使用して文字セットを定義し、unicodeを介して表示をマッピングします.すなわち、画像認識を除いて、数字を認識するには、文字セットを同時に這い出さなければならない.
また、ページをリフレッシュするたびに、文字セットのurlが変化し、登りコストが増加するのは間違いありません.
3.2 BACKGROUNDパッチワーク
例:美団
fontの戦略と似ていて、美団ではbackgroundパッチワークが使われています.数字は実は画像で、backgroundオフセットによって異なる文字が表示されます.
また、ページによって、画像の文字のソートにも違いがあります.しかし、理論的には0-9と小数点を生成するだけです.
3.3文字挿入
例:微信公衆番号の文章
一部の微信公衆番号の文章には、様々な謎の文字が挿入され、スタイルを通じてこれらの文字を隠している.この方法は驚くべきことだが...あまり認識や濾過が難しくなく、もっとよくできるが、脳の穴だろう.
ところで、私の携帯電話の通信量は誰に清算してもらえますか?
3.4擬似要素非表示
例:自動車の家
自動車の家では、肝心なメーカー情報を、偽要素のcontentにした.これも一つの考え方です:ホームページを登って、cssを解析しなければならなくて、偽要素のcontentを手に入れる必要があって、これは爬虫類の難易度を高めました.
3.5要素位置決めカバー式
どこへ行きますか.
また、数学が好きな人はどこへ行くのか、4桁の航空券の価格について、まず4つの
i
ラベルでレンダリングし、2つのb
ラベルで絶対的な位置ずれ量を特定し、わざと間違っているi
ラベルをカバーし、最後に視覚的に正しい価格を形成します...これは爬虫類がcssを解析するのはまだだめで、数学の問題をしなければならないことを示しています.
3.6 IFAMME非同期ロード方式
例:網易雲音楽
網易雲音楽ページが開くと、htmlソースコードには
iframe
がほとんどなく、srcは空白です.about:blank
です.次にjsが実行を開始し、ページ全体のフレームワークをiframeに非同期で詰め込みました...しかし、この方式がもたらす難易度は大きくなく、非同期とiframe処理で曲がっただけで(あるいは他の原因があり、完全に反爬虫類に基づいているわけではありません)、seleniumでもphantomでも、iframeのcontent情報を入手できるAPIがあります.
3.7文字分割式
例:全ネットエージェントIP
エージェントIP情報を示すページでは,IPの保護にも苦労する.
彼らはまずIPの数字と記号をdomノードに分割し、真ん中に人を惑わす数字を挿入し、爬虫類がこの戦略を知らなければ、自分が成功して数値を手に入れたと思っている.しかし、爬虫類が気づいたら、よく解決します.
3.8文字セット置換
例:サイドをどこに移動するか
同じように爬虫類を騙すのはどこへ行く移動版ですか.
htmlには3211と書いてあるのに、視覚的には1233が展示されています.文字セットを再定義し、3と1の順序がちょうど入れ替わった結果...
転載:http://litten.me/2017/07/09/prevent-spiders/