当前位置:  开发笔记 > 编程语言 > 正文

当有例如PHP/cURL时,crossdomain.xml和clientaccesspolicy.xml的含义是什么?

如何解决《当有例如PHP/cURL时,crossdomain.xml和clientaccesspolicy.xml的含义是什么?》经验,为你挑选了1个好方法。

所以假设我有一个站点,我没有crossdomain.xml或clientaccesspolicy.xml.

这意味着人们无法通过Silverlight或Flash应用程序访问我的网站.

但他们可以使用PHP中的cURL(或其他语言中的等价物)来从我的站点获取信息,并通过REST或WebService等将其提供给他们的Silverlight和Flash应用程序.

有人可以确切地解释这些限制如何保护我的网站,例如跨域脚本吗?

他们在保护什么针对无法PHP /卷曲和等价物来完成必须通过脚本访问我的网站?

KeithMahoney.. 12

PHP是服务器端技术,代码在服务器上执行,而不是在用户的机器上执行.Silverlight是一种在用户机器上运行的客户端技术.

如果Silverlight代码可以向任何域发出任意Web请求,它将打开大量跨站点脚本攻击的大门.


想象一下这种情况:鲍勃去www.OnlineBanking.com并登录查看他的账户余额.他通过导航到不同的地址离开了这个网站.他没有点击"退出",所以他仍然登录(或者,他打开一个新的浏览器窗口/标签,让银行网站仍然打开).
Bob浏览到包含Silverlight应用程序的evil.com.
Silverlight应用程序已下载并在Bob的计算机上运行.
此应用程序向www.OnlineBanking.com/secretaccountdetails.html发出Web请求.此文件需要身份验证才能读取(evil.com未经过身份验证,因此无法访问它).
然而鲍勃经过身份验证,请求成功.silverlight应用程序可以读取此文件的内容并随意执行任何操作(包括将其发送到evil.com).

Silverlight中的跨域请求限制可防止上述情况发生.当silverlight应用程序向OnlineBanking.com发出请求时,它将检查跨域策略文件,因为该应用程序是从其他域提供的.由于OnlineBanking.com没有允许跨域请求的策略文件,因此请求失败,Silverlight应用程序无法下载secretaccountdetails.html.



1> KeithMahoney..:

PHP是服务器端技术,代码在服务器上执行,而不是在用户的机器上执行.Silverlight是一种在用户机器上运行的客户端技术.

如果Silverlight代码可以向任何域发出任意Web请求,它将打开大量跨站点脚本攻击的大门.


想象一下这种情况:鲍勃去www.OnlineBanking.com并登录查看他的账户余额.他通过导航到不同的地址离开了这个网站.他没有点击"退出",所以他仍然登录(或者,他打开一个新的浏览器窗口/标签,让银行网站仍然打开).
Bob浏览到包含Silverlight应用程序的evil.com.
Silverlight应用程序已下载并在Bob的计算机上运行.
此应用程序向www.OnlineBanking.com/secretaccountdetails.html发出Web请求.此文件需要身份验证才能读取(evil.com未经过身份验证,因此无法访问它).
然而鲍勃经过身份验证,请求成功.silverlight应用程序可以读取此文件的内容并随意执行任何操作(包括将其发送到evil.com).

Silverlight中的跨域请求限制可防止上述情况发生.当silverlight应用程序向OnlineBanking.com发出请求时,它将检查跨域策略文件,因为该应用程序是从其他域提供的.由于OnlineBanking.com没有允许跨域请求的策略文件,因此请求失败,Silverlight应用程序无法下载secretaccountdetails.html.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有