# HAProxy WAF - Bad Bot Blocker acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i

Wow! This is one *huge* list. You could’ve charged people just for viewing this post and I’m sure most of us wouldn’t mind forking out some money just to take a peek at this ;)

acl bad_bot hdr_sub(User-Agent) -i

That list is to huge! lol, I tried to find the fake ones but then I looked at the list!

acl bad_bot hdr_sub(User-Agent) -i

Lol, now I get it. There’s 3 *fake* user-agents in the list. Is it…”dumb”, “fuck” & “human”?

acl bad_bot hdr_sub(User-Agent) -i

@Lisa: I hope you don’t mean that I could have charged people to view the blacklist in like a “freakshow” kind of way. Like, “step right up and take a peek at the world’s most hideously long HTAccess Blacklist!” Weird carnival music playing in dark tents and that sort of thing..

acl bad_bot hdr_sub(User-Agent) -i

@ Lisa
acl bad_bot hdr_sub(User-Agent) -i

hm…

acl bad_bot hdr_sub(User-Agent) -i

@Andrew: Nope, those strings address names of “real” user agents, believe it or not.. :)

acl bad_bot hdr_sub(User-Agent) -i

That list is insane!!!

acl bad_bot hdr_sub(User-Agent) -i

I think looking at all of this it harks back to Louis earlier idea of a whitelist;

acl bad_bot hdr_sub(User-Agent) -i

Hi, I think this is fantastic. I have one issue, my server gives a 500 error and the log shows :

acl bad_bot hdr_sub(User-Agent) -i

Well, I got it working, needed to fix a few things and break it over two lines, here are the results, let me know if this will still work as I dont really know htaccess code that well:

acl bad_bot hdr_sub(User-Agent) -i

Hi,

acl bad_bot hdr_sub(User-Agent) -i
  • About Perishable Press
  • acl bad_bot hdr_sub(User-Agent) -i
  • Perishable Press Archives
  • acl bad_bot hdr_sub(User-Agent) -i
  • Contact Perishable Press
  • acl bad_bot hdr_sub(User-Agent) -i
  • Welcome to Dungeon!
  • acl bad_bot hdr_sub(User-Agent) -i
  • Online Dev Tools
  • acl bad_bot hdr_sub(User-Agent) -i
  • Digging Into WordPress (eBook)
  • acl bad_bot hdr_sub(User-Agent) -i
  • .htaccess made easy
  • acl bad_bot hdr_sub(User-Agent) -i
  • Wizard’s SQL Recipes (eBook)
  • acl bad_bot hdr_sub(User-Agent) -i
  • WordPress on shared hosting (video tutorials)
  • acl bad_bot hdr_sub(User-Agent) -i
  • BBQ Pro
  • acl bad_bot hdr_sub(User-Agent) -i
  • Blackhole Pro
  • acl bad_bot hdr_sub(User-Agent) -i
  • USP Pro
  • acl bad_bot hdr_sub(User-Agent) -i
  • Code Snippets
  • acl bad_bot hdr_sub(User-Agent) -i
  • The Tao of WordPress (eBook)
  • acl bad_bot hdr_sub(User-Agent) -i
  • Develop WordPress themes (eBook)
  • acl bad_bot hdr_sub(User-Agent) -i • 75 comments acl bad_bot hdr_sub(User-Agent) -i © 2004–2025 Perishable Press • acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i Main Menu acl bad_bot hdr_sub(User-Agent) -i Yes Theme by acl bad_bot hdr_sub(User-Agent) -i Monzilla Media • acl bad_bot hdr_sub(User-Agent) -i 2009/03/30 6:29 am acl bad_bot hdr_sub(User-Agent) -i 2009/03/30 6:35 am acl bad_bot hdr_sub(User-Agent) -i 2009/03/30 6:53 am acl bad_bot hdr_sub(User-Agent) -i 2009/03/30 7:51 am acl bad_bot hdr_sub(User-Agent) -i 2009/03/30 8:56 am acl bad_bot hdr_sub(User-Agent) -i 2009/03/30 9:19 am acl bad_bot hdr_sub(User-Agent) -i 2009/03/30 10:00 am acl bad_bot hdr_sub(User-Agent) -i 2009/03/30 8:30 pm acl bad_bot hdr_sub(User-Agent) -i 2009/03/31 2:25 pm acl bad_bot hdr_sub(User-Agent) -i 2009/04/04 4:14 am acl bad_bot hdr_sub(User-Agent) -i 2009/04/04 3:16 pm acl bad_bot hdr_sub(User-Agent) -i 2009/04/04 7:27 pm acl bad_bot hdr_sub(User-Agent) -i RSS • acl bad_bot hdr_sub(User-Agent) -i Policy • acl bad_bot hdr_sub(User-Agent) -i Sitemap • acl bad_bot hdr_sub(User-Agent) -i John 3:16 acl bad_bot hdr_sub(User-Agent) -i
    Around the site
    acl bad_bot hdr_sub(User-Agent) -i
    Favorite projects
    acl bad_bot hdr_sub(User-Agent) -i
    WordPress help
    acl bad_bot hdr_sub(User-Agent) -i Blackhole Pro acl bad_bot hdr_sub(User-Agent) -i eBook: Digging Into WordPress acl bad_bot hdr_sub(User-Agent) -i Wizard’s SQL Recipes for WordPress acl bad_bot hdr_sub(User-Agent) -i
  • Search
  • acl bad_bot hdr_sub(User-Agent) -i
  • Books
  • acl bad_bot hdr_sub(User-Agent) -i
  • Plugins
  • acl bad_bot hdr_sub(User-Agent) -i
  • Twitter
  • acl bad_bot hdr_sub(User-Agent) -i
  • YouTube
  • acl bad_bot hdr_sub(User-Agent) -i
  • LinkedIn
  • acl bad_bot hdr_sub(User-Agent) -i
  • Tumblr
  • acl bad_bot hdr_sub(User-Agent) -i
  • Facebook
  • acl bad_bot hdr_sub(User-Agent) -i
  • Instagram
  • acl bad_bot hdr_sub(User-Agent) -i
  • WordPress
  • acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i
      acl bad_bot hdr_sub(User-Agent) -i Built w/ shapeSpace • acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i Wizard’s SQL for WordPress: Over 300+ recipes! Check the acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i Digging Into WordPress: Take your WordPress skills to the next level. acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i Blackhole Pro: Trap bad bots in a virtual black hole. acl bad_bot hdr_sub(User-Agent) -i Demo » acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    Find me on the social medias
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    Fall Sale! Code FALL2024 takes 25% OFF our Pro Plugins & Books »
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    Related Posts
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i
    Web Dev + WordPress + Security
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i .children { padding: 0; } acl bad_bot hdr_sub(User-Agent) -i .comment-field label, .comment-field input, .comment-field textarea, .comment .comment-field textarea { display: block; width: 100%; text-align: left; } acl bad_bot hdr_sub(User-Agent) -i .comments-closed img { display: none; } acl bad_bot hdr_sub(User-Agent) -i .form-submit .submit { margin: 0; } acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i
  • more »
  • acl bad_bot hdr_sub(User-Agent) -i
  • more »
  • acl bad_bot hdr_sub(User-Agent) -i
  • CSS
  • acl bad_bot hdr_sub(User-Agent) -i
  • .htaccess
  • acl bad_bot hdr_sub(User-Agent) -i
  • HTML
  • acl bad_bot hdr_sub(User-Agent) -i
  • JavaScript
  • acl bad_bot hdr_sub(User-Agent) -i
  • PHP
  • acl bad_bot hdr_sub(User-Agent) -i
  • Security
  • acl bad_bot hdr_sub(User-Agent) -i
  • SEO
  • acl bad_bot hdr_sub(User-Agent) -i
  • WordPress
  • acl bad_bot hdr_sub(User-Agent) -i
  • apache
  • acl bad_bot hdr_sub(User-Agent) -i
  • blacklist
  • acl bad_bot hdr_sub(User-Agent) -i
  • code
  • acl bad_bot hdr_sub(User-Agent) -i
  • design
  • acl bad_bot hdr_sub(User-Agent) -i
  • hacks
  • acl bad_bot hdr_sub(User-Agent) -i
  • links
  • acl bad_bot hdr_sub(User-Agent) -i
  • markup
  • acl bad_bot hdr_sub(User-Agent) -i
  • mod_rewrite
  • acl bad_bot hdr_sub(User-Agent) -i
  • optimization
  • acl bad_bot hdr_sub(User-Agent) -i
  • plugins
  • acl bad_bot hdr_sub(User-Agent) -i
  • server
  • acl bad_bot hdr_sub(User-Agent) -i
  • spam
  • acl bad_bot hdr_sub(User-Agent) -i
  • tutorials
  • acl bad_bot hdr_sub(User-Agent) -i
  • ux
  • acl bad_bot hdr_sub(User-Agent) -i Here you will find posts about web development, WordPress, security, and more » acl bad_bot hdr_sub(User-Agent) -i Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience. acl bad_bot hdr_sub(User-Agent) -i Updated acl bad_bot hdr_sub(User-Agent) -i .cancel-reply a { font-size: 11px; font-weight: normal; text-decoration: none; } acl bad_bot hdr_sub(User-Agent) -i .children { list-style: none; } acl bad_bot hdr_sub(User-Agent) -i .comment .avatar { display: block; width: 50px; height: 50px; } acl bad_bot hdr_sub(User-Agent) -i .comment .cancel-reply { display: inline-block; padding: 0 0 0 10px; } acl bad_bot hdr_sub(User-Agent) -i .comment .comment-policy, .cancel-reply { display: none; } acl bad_bot hdr_sub(User-Agent) -i .comment { margin: 20px 0; } acl bad_bot hdr_sub(User-Agent) -i .comment-avatar { float: left; width: 60px; height: 60px; } acl bad_bot hdr_sub(User-Agent) -i .comment-content { float: right; line-height: 1.5; width: calc(100% - 70px); } acl bad_bot hdr_sub(User-Agent) -i .comment-feed { padding: 0 0 0 30px; background-image: url(/wp/wp-content/themes/yes/img/feed.png); background-repeat: no-repeat; background-position: left center; background-size: 20px 20px; } acl bad_bot hdr_sub(User-Agent) -i .comment-field input { box-sizing: border-box; width: 300px; } acl bad_bot hdr_sub(User-Agent) -i .comment-field label { box-sizing: border-box; width: 90px; text-align: right; font-size: 11px; } acl bad_bot hdr_sub(User-Agent) -i .comment-field textarea { box-sizing: border-box; width: calc(100% - 100px); height: 120px; } acl bad_bot hdr_sub(User-Agent) -i .comment-field { margin: 5px 0; } acl bad_bot hdr_sub(User-Agent) -i .comment-info a, .comment-info a:hover { color: #999; text-decoration: none; } acl bad_bot hdr_sub(User-Agent) -i .comment-info { padding: 0 0 0 10px; font-size: 11px; color: #999; } acl bad_bot hdr_sub(User-Agent) -i .comment-moderation { font-style: italic; color: #669966; } acl bad_bot hdr_sub(User-Agent) -i .comment-policy { margin: 0 0 30px 0; } acl bad_bot hdr_sub(User-Agent) -i .comments h2 { line-height: initial; } acl bad_bot hdr_sub(User-Agent) -i .comments pre, .comments blockquote { margin: 20px 0; } acl bad_bot hdr_sub(User-Agent) -i .comments-closed img, .comments-closed span { display: inline-block; margin: 0 3px 0 0; vertical-align: middle; } acl bad_bot hdr_sub(User-Agent) -i .comments-closed span { padding: 3px 0 0 0; } acl bad_bot hdr_sub(User-Agent) -i .comments-closed { margin: 40px 0; text-align: center; } acl bad_bot hdr_sub(User-Agent) -i .comments-list { margin: 40px 0; padding: 0; list-style: none; } acl bad_bot hdr_sub(User-Agent) -i .form-submit .submit { margin: 0 0 0 90px; } acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i acl bad_bot hdr_sub(User-Agent) -i
    acl bad_bot hdr_sub(User-Agent) -i