browscap работает по составленной(и постоянно обновляемой) базе,и может выдать только те данные, которые в него вложили наполнители базы, а в качестве исходных данных, используется user-agent
по сути дела к нему просто применяется проверка огромной кучи регулярок.
типа, если строка подпадает под шаблон Firefox/\d\.\d\.\d+, то это firefox
При этом база достат очно обширная, и умеет определять кучу разных плюшек, которые соответствующие браузеры умеют по-умолчательным настройкам.
При этом, если известно, что Firefox начиная с какой-то версии умеет JS, то это вовсе не означает, что пользователь не отключил JS в своем браузере
browscap соответсвенно покажет, что JS может быть исполнен, хотя это не так.
Аналогично, можно подменить USer-agent на ложный.
Но, самое главное, что используя его можно узнать только то, что можно узнать на основании user-agent, и что, при этом кто-то удосужился внести в базу.
То есть advisor наверно отсутсвует в базе, и можно при желании ее обучить.
а вот яндекс бар, так как не срет в user-agent, в такой способ не обнаружить
|