Benefits
window.name比其他的跨域传输技术更有优势:
- 它比JSONP安全。可以说它和其他基于安全传输的frame(比如fragment identifier messaging
,Subspace)一样安全。(I)Frames 也有他们自己的安全问题,因为frame可以改变其他frame的location,但这是个非常不同的安全溢出,一般来讲,这并不严重。
- 首先它比FIM快的多,因为它无需处理小包量的fragment
identifier,也没有那么多针对IE的连锁反应。其次,它也比Subspace快。Subspac需要两个iframe,并且在请求中加载两个本
地HTML页面。window.name仅仅需要一个iframe和一个本地页面。
- 它比Subspace和FIM更加安全和简单。FIM有点复杂,而Subspace相当复杂。Subspace还有一系列的额外约束以及安装需求,比如预先声明所有的目标主机和拥有针对若干不同特殊主机的 DNS 入口。window.name 则简单容且易于使用。
- 它并不需要插件(比如Flash)或其他替代技术(比如Java)。
How does it work?
你可以使用windowNam模块而无需理解它是如何工作的。但既然这是使你远离糟糕web服务的工具,你当然想知道它是如何提供保护的。name是浏览器中window对象的一个属性,即使浏览器加载了新的页面,name的值依然保持不变。当在iframe中加载一个资源时,目标页面将会设置其name属性,这个name属性的值可以通过访问web服务来获取。注意,name属性只可以被同一个domain下的frame所访问。也就是说,当远程web服务页面被加载后,为了访问返回的name值,Dojo必须操纵frame返回原先的domain。当dojo在取得name的时候,这项机制也能够避免其他的frame访问name属性。一旦name的属性值被获取,这个frame就可以被销毁了。
因为name属性被置于最顶层,所以它显得并不安全。任何name属性中的信息都可以被随后的页面所访问。然而,windowName模块总是在iframe中加载目标资源,当name中的数据被获取后,iframe立刻被销毁,或者你可以浏览一个新的页面使得其他所有的页面都没有访问window.name的权限。
分享到:
相关推荐
Chapter 2. The Physical Layer Section 2.1. The Theoretical Basis for Data Communication Section 2.2. Guided Transmission Media Section 2.3. Wireless Transmission Section 2.4. Communication ...
Chapter 2. The Physical Layer Section 2.1. The Theoretical Basis for Data Communication Section 2.2. Guided Transmission Media Section 2.3. Wireless Transmission Section 2.4. Communication ...
Chapter 2. The Physical Layer Section 2.1. The Theoretical Basis for Data Communication Section 2.2. Guided Transmission Media Section 2.3. Wireless Transmission Section 2.4. Communication ...
Chapter 2. The Physical Layer Section 2.1. The Theoretical Basis for Data Communication Section 2.2. Guided Transmission Media Section 2.3. Wireless Transmission Section 2.4. Communication ...
Chapter 2. The Physical Layer Section 2.1. The Theoretical Basis for Data Communication Section 2.2. Guided Transmission Media Section 2.3. Wireless Transmission Section 2.4. Communication ...
Chapter 2. The Physical Layer Section 2.1. The Theoretical Basis for Data Communication Section 2.2. Guided Transmission Media Section 2.3. Wireless Transmission Section 2.4. Communication ...
Chapter 2. The Physical Layer Section 2.1. The Theoretical Basis for Data Communication Section 2.2. Guided Transmission Media Section 2.3. Wireless Transmission Section 2.4. Communication ...
PEP 3155: Qualified name for classes and functions PEP 412: Key-Sharing Dictionary PEP 362: Function Signature Object PEP 421: Adding sys.implementation SimpleNamespace Using importlib as the ...
new Ajax.Request(base+"locales/"+locale+".js",{onSuccess:function(transport){eval(transport.responseText);this.setLocale(new Control.DatePicker.i18n(locale))}.bind(this),onFailure:function(transport){...
find support for NNTP (Network News Transport Protocol) [newsgroups], S/MIME (Secure Multipurpose Internet Mail Extensions), and more. Fundamentals of the JavaMail API Page 5 Presented by ...
当JavaScript通过`window.webkit.messageHandlers.messageHandler.postMessage()`发送消息时,`userContentController(_:didReceive:)`方法会被调用。 总的来说,WKWebView提供了丰富的API和机制,使得开发者能够...
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet <servlet-name>CXFServlet</servlet-name> <url-pattern>/services/* ``` **步骤4**: 创建服务接口和实现类 - 创建一个接口,例如`...
as modern routers sometimes act as firewalls or caching components, and process Transport layer as well.) Link layer switches process link and physical layers (layers 1 through2). Hosts process all ...
Question 1.5 introduces the concept of authoritative name servers in the Domain Name System (DNS). These servers are responsible for providing authoritative responses to DNS queries for a specific ...
确保至少包含`axis2-adb.jar`、`axis2-kernel.jar`、`axis2-transport-http.jar`和`axis2-transport-local.jar`。 5. **配置Web服务**:在MyEclipse中创建一个新的Web服务,右键点击项目,选择“New” -> “Other”...
主要关注的是`server_name`(你的主机名或IP地址)和`root`(网站内容的根目录)。 4. **启动Nginx** 在命令行中,导航到Nginx的安装目录,然后运行`nginx.exe`。或者,你可以创建一个快捷方式并以管理员身份运行...
- **SSL/TLS**:为了保护数据传输,可以启用SSL(Secure Sockets Layer)或其更安全的版本TLS(Transport Layer Security)来加密通信。 - **证书**:启用SSL/TLS后,需要安装有效的数字证书以确保服务器的身份。 - ...