Archive for September, 2014

Windows 7自建虚拟无线WiFi

Monday, September 22nd, 2014

升级到iOS8后, Cisco LEAP协议不支持,无法连到公司内部无线网,中国移动GPRS实在太慢。找到几篇文章,使用Windows 7自带的虚拟WiFi在笔记本上自建AP,让移动设备上网,步骤简化如下:

1. 在管理员权限下运行命令行cmd;

2. 运行命令 netsh wlan set hostednetwork mode=allow ssid=<your_ap_name> key=<password>

其中<your_ap_name>是无线AP的ssid,用手机找WiFi可以发现;<password>是这个AP的连接密码;

3. 接着运行 netsh wlan start hostednetwork,这样在网络连接可以看到该虚拟WiFi连接:

virtual_wifi

4. 把一个实际网络连接的流量共享给该虚拟WiFi。方法是右键选择当前可用网络连接的‘属性’,然后在共享里分享给虚拟WiFi。

最后,如果你装了防火墙如Symantec Endpoint Protection,需要添加一条过滤规则放行移动设备对此虚拟WiFi适配器的访问。

 

CORS (Cross-Origin Resource Sharing) preflighted OPTIONS request

Monday, September 15th, 2014

CORS提供了安全访问跨域请求的方案,目前主流的浏览器都支持CORS。其中CORS preflighted request中提到浏览器需要先发出一个OPTIONS的请求在服务器端获得通过后(利用HTTP response中的CORS header进行审批)才可以进行后续的访问。根据规范,此HTTP OPTIONS请求中不允许携带任何cookie

我很想知道这样的设计是出于什么考虑?如果是出于安全考虑,那么当前用户session如果已经登录此跨站网站并且有cookie,这些cookie对所访问的跨域服务器来说是没有个人信息泄露的问题,因为本来这些cookie就是服务器产生并返回给浏览器的,你送不送不存在安全隐患。Chrome之前有个bug就是在OPTIONS请求里面带了cookie,最近刚刚修复,而Chrome并没有质疑规范的设计是否合理。

不允许带Cookie在采用了如TAM, Siteminder等统一认证的环境下很麻烦,因为这样的request还没有机会到达应用本身就被前端reverse proxy(或web server agent)拦住了,而它们都不具备判断目标应用是否会放行此跨域请求的能力(一般情况下应用程序负责维护一个信任网站的白名单),所以还得通过配置放行此无cookie的请求到目标应用。