【转】PhoneGap域名白名单说明书(Domain Whitelist Guide)

概述
Cordova项目中的域名白名单是一个用来控制外部域名访问的安全模块,比如http://google.com默认的安全机制是没有网络访问权限。开发者可以定义特定域名和子域名的访问权限。

规范
域名白名单是W3C Widget Access 规范的基础。在部件访问(Widget Access)规范中,<access>元素用来定义特定域名的访问权限,在以后的更新中Cordova平台白名单将趋近 W3C Widget Access规范。特别的,每个平台必须定义自身的白名单。

语法
访问 google.com

http://google.com

访问安全连接 google.com (https://):

https://google.com

访问子域名 maps.google.com:

http://maps.google.com

访问 google.com上的全部子域名 (比如. mail.google.com docs.google.com):

http://*.google.com

全部域名 (诸如 google.combaidu.com):

*

Android:细节:
白名单规则见下载包res/xml/cordova.xml,通过元素<access origin="..." />.声明
安卓支持白名单的全部语法
语法:
访问 google.com:
<access origin="http://google.com" />

Bada Bada不支持白名单设置. 默认的, 所有域名都可以访问.

BlackBerryDetails白名单规则见目录www/config.xml 通过元素 <access uri="..." />声明.
查阅详细资料, 见BlackBerry WebWorks Access Element documentation.
语法访问 google.com:
<access uri="http://google.com" subdomains="false" />

访问maps.google.com:
<access uri="http://maps.google.com" subdomains="false" />

访问google.com:全部子域名
<access uri="http://google.com" subdomains="true" />

访问全部域名, 包括 file:// 协议:
<access uri="*" subdomains="true" />

iOS详细

  • 打开 Cordova.plist.
    • 在 Xcode中, 见目录 AppName/Supporting Files/Cordova.plist
    • 在目录, 见AppName/Cordova.plist
  • 在 ExternalHosts key下添加新的键值 .
    • 建议使用 Xcode避免编辑原始 XML.

iOS不支持域名协议(诸如. http:// ahttps://) .
语法访问 google.com 和安全连接 google.com (https://):
google.com
访问子域名 maps.google.com:
maps.google.com
访问全部子域名 google.com (诸如 mail.google.comdocs.google.com):
*.google.com
访问全部域名(诸如 google.combaidu.com):
*
IOS(*)通配符比W3C Widget Access 规范更灵活。

访问所有子域名和顶级域名 (.com, .net,等):
*.google.*

SymbianBada不支持白名单设置. 默认的, 所有域名都可以访问.
webOSBada不支持白名单设置. 默认的, 所有域名都可以访问.
Windows PhoneBada不支持白名单设置. 默认的, 所有域名都可以访问.

你可能感兴趣的:(PhoneGap)