Kann der User-Agent nicht auch durch Proxys verfälscht werden?
Proxies sprechen HTTP, nicht JavaScript. Ein Proxy kann nicht den Rückgabewert von navigator.userAgent ändern, sofern er nicht »navigator.userAgent« im JavaScript-Code durch einen String-Literal ersetzt (eine Änderung, die man jedoch einfach durch Verschleierung umgehen könnte).
Mathias