hi dave,
your apparently simple question could require hours to answer because it involve other important question, like privacy.
the first answer i feel to give you is this: why a web site should know your browser's properties? you write: because it can serve customized pages.
but this isn't true at all. we have many standards that ensure the perfect view with all compliant browsers. all the sites really need is the respect of standards.
the second answer is related to the first: to educate webcoder to respect standards. we have very few possibilities to protect ourselves from their abuses, if even a single possibility exists, why not?
i agree with you faking browser's properties to have access to site designed for browser other than yours. but do you think, like me, that this is an abuse? a limitation to our freedom that webmaster place on their site while they are using a free resource. the whole web exists because people have created it for free (and for freedom).
anyway, this is the filter i use to fake my browser properties. it is set for opera, but you can easily customize it:
Name = "Hide Browser's Properties from JS [vm]"
Active = TRUE
URL = "$TYPE(htm)|$TYPE(js)"
Limit = 64
Match = "navigator.$LST(JSProperties)"
Replace = "1"
and this is the blocklist with faked properties:
# Proxomitron4 URL killfile: $LST(JSProperties)
# Created by sidki on June 28, 2002
# Modified by altosax on July 02, 2002
#
# List for "Hide Browser's Properties from JS" filter.
# It fakes listed navigator properties and methods.
#
# If you think that this filter is quite aggressive,
# make an exception list and append it to the URL match:
# URL = "($TYPE(htm)|$TYPE(js))(^$LST(BypassJSProperties))"
# or comment out the offending line of code.
#
# If "appName" and "platform" causes too much troubles try this:
# appName$SET(1='XMSIE')
# platform$SET(1='XWin')
#
# All credits to sidki for the original idea.
# Note: these are not all navigator properties and methods.
#
userAgent$SET(1='Opera/5.02 (Win32; U) [en]')
appName$SET(1='Opera')
appCodeName$SET(1='Mozilla')
appVersion$SET(1='5.02')
appMinorVersion$SET(1='0')
platform$SET(1='Win32')
language$SET(1='en')
browserLanguage$SET(1='en')
systemLanguage$SET(1='en')
userLanguage$SET(1='en')
cpuClass$SET(1='x86')
plugins.length$SET(1='0')
plugins.refresh(true)$SET(1=navigator.plugins.refresh(false))
cookieEnabled$SET(1='false')
onLine$SET(1='false')
userProfile$SET(1='false')
connectionType$SET(1='offline')
javaEnabled()$SET(1='false')
what i wrote is only a little bit of all i could write, but my native language is the italian, if you understand italian i could mail you private with some other interesting answer to reflect on.
regards,
altosax.
Edited by - altosax on 07 Jul 2002 19:14:50