In meiner Auswertung gab es eine Variable $bot, die vorher deklariert wurde und die auf einige Bots geprüft hat. Ja, ich weiß, dass auch diese Variable nicht alle Bots findet, aber zumindest deine genannten würden auf Grund der Schlüsselwörter "bot","seek",etc. erkannt werden.
wie ich bereits sagte, auswerten anahnd schlüsselwörtern ist uncool, da du niemals 100%ig sicherstellen kannst, das ein derart kurzes schlüsselwort nicht zufällig in einem anderen (häufig verwendeten) string steckt
insbesondere die beispiele mit cygwin und darwin sollten darlegen, dass die methode äusserst uncool ist
dass der op selbst entscheiden kann ob er die methode verwendet oder nicht ist natürlich richtig, aber du hast einfach mal dein script reingepackt ohne über die risiken aufzuklären
ein arzt drückt dir auch nicht ein halbes kilo gras in die hand und sagt "hilft gegen grünen star, rauch mal schön"
der op hatte also garnicht die chance zu wissen, welche nachteile die von dir angesprochene lösung mitsicht bringt - darum wurde das von dritter stelle nachgereicht und es ist keineswegs als gemeckere zu werten - es liegt leider auf der hand, dass dein script (so wie es gepostet wurde) schon in der ersten zeile fehlerhaft ist - deine zusatzinfo, dass du bots anhand "bot" und "seek" rausfilterst ist löblich, aber die hätte zuerst kommen sollen - im übrigen, mit etwas zeit finde ich sicher viele beispiele, die user agents mit deiner lösung als bot klassifizieren, aber eigentlich keine sind ;)