New security model for widgets, Opera 10 and network="public"
By Hans S. TømmerholtFor_d. Wednesday, January 14, 2009 1:47:58 PM
For Opera 10, we're introducing a new security model which among other things means that widgets don't have network access on by default. In order to enable network access for non-intranet sites, add a network attribute to the widget element in the config.xml of your widget with the value public.
This will make your widget work as intended in Opera 10, but will not affect previous versions. Older browsers will simply ignore the network attribute and give your widget access as per the existing security model. We'll update the documentation with more details as we get closer to a release of Opera 10.
Note that this affects http://widgets.opera.com. If you submit a widget to us without the network attribute, the widget will probably not work in Opera 10. Consequently, your widget will not be approved for that version, and wont show up in the lists of widgets when people browse the site.
<widget network="public"> ... </widget>
This will make your widget work as intended in Opera 10, but will not affect previous versions. Older browsers will simply ignore the network attribute and give your widget access as per the existing security model. We'll update the documentation with more details as we get closer to a release of Opera 10.
Note that this affects http://widgets.opera.com. If you submit a widget to us without the network attribute, the widget will probably not work in Opera 10. Consequently, your widget will not be approved for that version, and wont show up in the lists of widgets when people browse the site.


Aux # Wednesday, January 14, 2009 2:06:23 PM
Aux # Wednesday, January 14, 2009 2:09:55 PM
Hans S. TømmerholtFor_d # Wednesday, January 14, 2009 3:25:31 PM
http://dev.opera.com/articles/view/opera-widgets-security-model/
In the new model, https will be allowed as a protocol by default.
Aux # Wednesday, January 14, 2009 3:34:48 PM
mabdul # Wednesday, January 14, 2009 3:51:33 PM
Hans S. TømmerholtFor_d # Thursday, January 15, 2009 12:01:53 PM
mabdul # Thursday, January 15, 2009 4:59:41 PM
so what for is that?
I mean i hope you understand me: if the developer want the access he get the access, if he doesn't want, he won't build anything in...
_Grey_ # Thursday, January 15, 2009 8:12:24 PM
Hans S. TømmerholtFor_d # Friday, January 16, 2009 11:26:02 AM
The reason for the change is primarily to align ourselves better with the W3C, which are using an opt-in network model in their upcomming widgets spec.
Then, yes, the idea is to remove unnecessary access from those widgets that don't actually require it, reducing the risks from exploiting errors in these widgets. More so than trying to stop harmful widgets. The idea is that by requiring users to write network="public" to actually get access, devs will be lazy when they don't actually want that and omit it.
The change in architecture also allows us to develop some features down the line, which we'll get back to.
][ePyBuM # Saturday, July 24, 2010 5:29:32 AM
Spadar ShutSpShut # Saturday, August 7, 2010 11:51:00 PM
In my widget I mount a directory and embed svg images from it, but widget won't let me access their dom, throwing security exceptions. So is there a way o add the mounted directory to the trusted sites/protocols?
John Ngugingugs # Saturday, July 30, 2011 7:21:11 AM