2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

やりたいこと

素直にBot判定をしようとすると、UserAgentかIPアドレスから判定することになると思います。

愚直にbot判定しようとするとUserAgentから判定することになると思いますが、世の中には無数のBotがあり困難です。

できるだけ、簡単にBot判定をしようとしてみた。

どうするの?

Bot判定を自力で頑張らずともUserAgentで様々な判定をしてくれるgemのbrowserを使うだけです

以下、の2行だけで完結しちゃいます!

browser = Browser.new(user_agent)
browser.bot?

でも、どうせそんなに多くのBotには対応してないでしょっと思うかもしれないですが、
300近くの有名なBotに対応しているので、自力で対応していく労力に比べ圧倒的に楽に判定できます!
対応Botリスト: https://github.com/fnando/browser/blob/main/bots.yml

まとめ

browserを使うと簡単にUserAgentからBot判定ができてしまいます。
この他にもbrowserにはデバイスの判定を簡単にできたりします。

しかし、この方法だけでは100%確実にBotの判定ができるわけではありません。
Botの中には一般のユーザーっぽいUserAgentに偽装してアクセスしてくるBotなどもいるので、UserAgentの判定だけを過信するのは良くない場合もあります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?