Systems and methods for controlling the ability of scripts to access
objects defined at the client. The client stores an access control data
structure having multiple entries. Each entry is associated with one or
more objects for which access is to be controlled. The entries include a
source identifier field containing one or more URLs and a permission
identifier field containing data defining a permission. When the client
receives a script from a script source, such as a web site, the client
begins execution of the script until the script requests access to an
object. The client identifies a relevant entry of the access control data
structure, which is an entry that is associated with the requested object
and lists the URL of the script source in the source identifier field.
The client applies the permission defined by the permission identifier of
the relevant entry to the request, thereby granting or denying access to
the script. Thus, the client permits selected remote entities to exercise
control over objects and, in turn, over components of the client, while
preventing unauthorized scripts from accessing the objects.