Unity3D技术之多玩家联网游戏创建说明
2014-11-21 20:53
169 查看
各位好,近期我在工作中遇到这么一个问题:
在一个b/s软件系统后台嵌入一个跨越的iframe来推送和软件有关的官方信息。
但由于软件系统可能会在局域网部署,所以就遇到iframe出现404的错误页面,体验很不好。
————
我的解决方法是:
1.嵌入到软件端的iframe(FRM01)默认visibility :hidden;
2.软件端建立接收代理页请求接口,并再将此接口url带入(FRM01) src的get参数。
3.在(FRM01)中再嵌入一个代理iframe(FRM02)
4.当(FRM01)成功被加载时,把需要执行的脚本字符POST方式提交到(FRM02)软件端接口,软件端直接echo脚本。
[形成同域,脚本中可直接用top.document控制软件端dom]
遇到的问题:
---safari浏览器的默认安全策略会禁止脚本的执行。---
此问题纠结好久,最终测试发现 safari浏览器会判断POST请求中是否有包含response脚本代码块。如果有,则会被安全策略禁止。
那么简单的解决办法就是把post请求过去的脚本代码编码(base64),在软件接口端解码echo输出。问题被解决!
![](https://oscdn.geek-share.com/Uploads/Images/Content/202002/07/cf0b84be6c4d71cf821a5c25813362fc.png)
——————
这样的实现细心的朋友可以发现,在嵌入官方的那个iframe中可以放入任意javascript 代码,被客户端请求执行。
————————
关于安全上面我考虑的不多,不知道有没有什么隐患?请各位讨论。
在一个b/s软件系统后台嵌入一个跨越的iframe来推送和软件有关的官方信息。
但由于软件系统可能会在局域网部署,所以就遇到iframe出现404的错误页面,体验很不好。
————
我的解决方法是:
1.嵌入到软件端的iframe(FRM01)默认visibility :hidden;
2.软件端建立接收代理页请求接口,并再将此接口url带入(FRM01) src的get参数。
3.在(FRM01)中再嵌入一个代理iframe(FRM02)
4.当(FRM01)成功被加载时,把需要执行的脚本字符POST方式提交到(FRM02)软件端接口,软件端直接echo脚本。
[形成同域,脚本中可直接用top.document控制软件端dom]
遇到的问题:
---safari浏览器的默认安全策略会禁止脚本的执行。---
此问题纠结好久,最终测试发现 safari浏览器会判断POST请求中是否有包含response脚本代码块。如果有,则会被安全策略禁止。
那么简单的解决办法就是把post请求过去的脚本代码编码(base64),在软件接口端解码echo输出。问题被解决!
![](https://oscdn.geek-share.com/Uploads/Images/Content/202002/07/cf0b84be6c4d71cf821a5c25813362fc.png)
——————
这样的实现细心的朋友可以发现,在嵌入官方的那个iframe中可以放入任意javascript 代码,被客户端请求执行。
————————
关于安全上面我考虑的不多,不知道有没有什么隐患?请各位讨论。
相关文章推荐
- Unity3D技术之多玩家联网游戏创建说明
- 技术说明 TN2224 为 iPhone 和 iPad 创建和部署 HTTP Live 媒体流的最佳实践
- [Unity3D]在游戏开发中Notification Center的简单使用与案例说明
- 【浅墨Unity3D Shader编程】之一 游戏场景的创建 & 第一个Shader的书写
- Unity3D 学习教程 2 创建游戏工程与界面
- [游戏技术]求生之路stripper:source游戏中创建模型
- 游戏汉化技术内幕——第3章索引和资源的说明
- Unity3D 技术之加载游戏场景并显示进度条详解
- Unity3D客户端在游戏场景中创建阻挡并用二进制导出
- 我们月光工作室和我们的3款游戏被国内Unity3D游戏引擎第一技术论坛--“游戏蛮牛” 报道啦!
- Unity3D基础--动态创建和设置游戏对象
- Unity3D+免费工具开发2D游戏之三:创建人物动画
- Unity3D游戏开发 创建简单的游戏世界(三)
- Unity3D游戏开发 菜单说明(二)
- unity3d游戏开发学习之使用3dmax创建导弹模型
- Unity3d用户手册用户指南创建游戏Particle Systems
- Unity3D游戏开发 创建简单的游戏世界(三)
- Unity3D游戏开发 菜单说明(二)
- unity3D游戏开发五之创建基本游戏场景二
- Unity3D学习第一日之(游戏的发展趋势、以及Unity3D界面与编辑器布局和地形的创建等..