It's called Browser Fingerprinting; there's a lot of info around the web. I don't have any great source offhand though. You need more than just the user-agent to get a good fingerprint, but it's a good start.
These tactics are great for data-mining trends and such; but don't work very well for actually personally identifying a computer. This site will even tell you how unique you're browser is.
you can deny access by BrowserMatch and Deny from SetEnvIf
Example:
SetEnvIfNoCase User-Agent "^Wget" bad_bot
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot
SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot
<Directory "/var/www">
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</Directory>
To permanenly block them you have to write custom log file and use fail2ban for example to ban them with iptables
For example create LogFormat
LogFormat "%a %{User-agent}i" ipagent
Add logging to your vhost/server-wide
CustomLog /var/log/apache2/useragent.log ipagent
/etc/fail2ban/filter.d/baduseragent.conf
[Definition]
failregex = ^<HOST> Mozilla/4\.0 \(compatible; MSIE 7\.0; Windows NT 5\.1; SV1; \.NET CLR 2\.0\.50727\) Havij$
/etc/fail2ban/jail.conf
[apache-bad-user-agent]
enabled = true
port = 80,443
protocol = tcp
filter = baduseragent
maxretry = 1
bantime = 86400
logpath = /var/log/apache2/useragent.log
Best Answer
Generally yes if it meets your requirements/needs, unless there are specific conflicts you can find with their definitions and/or approaches. The prudent route is to monitor very closely during its initial implementation to ensure it fits your needs without introducing any unanticipated/unexpected side-affects.