由于Ajax驱动的游戏界面中包含明文的标记和JavaScript代码,因此用户有可能(通过浏览器扩展和用户脚本)修改游戏的行为和数据。和其他Web应用程序一样,游戏中的成绩、JavaScript控制的动作,以及任何页面内的元素都可能落入用户的控制之下。问题在于要明确给定应用程序的易用性(这里的易玩性)或安全性的优先级。
由服务器端控制的游戏动作越多,应用程序就需要越频繁地访问服务器,因而游戏的响应速度也会越慢。平衡的关键在于攻击者通过应用程序界面所能修改的范围。如果一次简单的函数调用能比用户正常玩游戏更快、更容易打败对手,那么某些人就可能发现并利用该函数。如果脚本在不进行检查的情况下保存当前成绩,那么用户就可能会找到保存该脚本的位置并在游戏中为自己加上高分
我们讨论的情况中包括只是为了简单娱乐的单人游戏,即什么也不记录,而且只有一个游戏会话。对于这种类型的游戏,使用所谓秘笈欺骗程序的最大回报就是获得一个前所未有的高分。如果没有对玩家的排名,也不记录什么高分,那么这种情况下加强安全的必要性就会小很多,因为攻击者根本没有作-弊的动机。即使有人会看到带有不正当取得的高分的屏幕截图,对其他用户也不会有什么影响,并且对游戏本身也不会产生什么威胁。
在上述这种情况下,所有的逻辑、记分和验证都可以通过JavaScript实现,无需应用程序再访问服务器——除非游戏中需要加载新的信息。对于这些信息,可以采取多级方式,由游戏在快速启动后再延迟加载。或者,也可以大胆地将文本信息一次性加载到浏览器中。
如果作-弊手段影了其他玩家,如篡改玩家排名或在多人游戏中通过不正当手段打败其他玩家,那么就需要在应用程序中采取安全措施以保证游戏公平。即使为了获得最高排名的作-弊,都会扼杀真正用户的游戏愿望,这些人很可能会因为扫兴转而去玩其他游戏。
验证
验证在Ajax驱动的游戏中的必要性与在其他Web应用程序中的必要性没有高低之分,虽然对应用程序逻辑的验证可能会更复杂一些。数据验证是确保服务器端应用程序安全的第一步(当然,还包括身份验证和授权验证)。
与典型的Web应用程序中的验证稍有不同的是与环境相关的数据约束。当飞船在屏幕上移动时,它能够向服务器发送回的位置有非常具体的要求。由于飞船有最高速度和最高加速度限制,而且服务器对飞船的具体位置信息(x、Y、角度、x速度、y速度、加速度和旋转)也非常清楚,因此应用程序可以根据每个信息的变化来检查其当前位置、速度和加速度。
分享到:
相关推荐
2. **游戏开发**:利用HTML5的Canvas和WebGL创建交互式游戏。 3. **Web App性能优化**:包括资源加载策略、DOM操作优化、CSS3动画性能提升等。 4. **HTML5与后端技术集成**:如AJAX、WebSockets与服务器端的交互,...
【HTML5游戏开发基础】 HTML5是Web开发的最新标准,它引入了许多新的特性,使得开发者可以创建更丰富、更具交互性的网页应用。在“看图猜成语HTML5游戏源码”中,我们可以深入理解HTML5在游戏开发中的应用。 1. **...
6. 表单控件改进:HTML5新增了多种表单输入类型,如date、email、url等,提高了用户体验,同时也方便了数据验证。 二、HTML5与iOS的结合 苹果的Safari浏览器和WebKit引擎对HTML5的支持非常全面,使得iOS设备成为...
学习和理解这款双色球HTML5游戏源码,可以帮助开发者深入掌握HTML5、CSS3和JavaScript的应用,以及服务器端开发的基本概念,对于提升Web开发技能大有裨益。同时,对于想要创建类似互动游戏或彩票系统的开发者来说,...
HTML5开发平台是现代网页和应用程序开发的核心工具,它极大地扩展了HTML4的功能,提供了更丰富的用户体验和更强的交互性。HTML5不仅包含了对传统HTML元素的改进,还引入了一系列新的元素、API和特性,旨在简化开发...
本资源包“23个已验证的H5游戏及源码”提供了实实在在的学习和实践材料,对于想要深入了解H5游戏开发或者提升自身技能的开发者来说,是一份宝贵的资料。 1. **HTML5游戏框架** 这些游戏可能基于不同的H5游戏框架,...
HTML5是现代网页开发的重要标准,它在传统HTML的基础上...通过学习和分析这个"HTML5:MGP游戏商城静态网页"项目,初学者不仅可以掌握HTML5的基本语法,还能了解网页开发的整体流程,为进一步学习前端开发打下坚实基础。
2. **Canvas**:HTML5的Canvas元素提供了一个基于JavaScript的画布,允许开发者动态绘制图形,包括动画、图像处理和游戏开发。通过JavaScript API,开发者可以创建复杂的2D图形和视觉效果。 3. **SVG(Scalable ...
【HTML5游戏开发基础】 HTML5是现代网页开发的核心技术之一,它在传统HTML的基础上引入了许多新特性,使得网页能够实现更丰富的交互性和多媒体功能。在这个"中秋知识竞赛HTML5游戏源码"中,我们可以深入学习HTML5在...
总的来说,吃豆人大挑战HTML5游戏源码是一个涵盖了HTML5、JavaScript、CSS以及可能的服务器端技术的综合项目,学习和分析这个游戏源码,可以帮助开发者深入理解HTML5游戏开发的全过程,提升游戏编程技能。
HTML5移动开发指南文档是专为开发者设计的一份详尽教程,旨在帮助他们掌握使用HTML5进行移动应用开发的关键技术和实践。HTML5是超文本标记语言(HyperText Markup Language)的第五个版本,它在传统的HTML基础上进行...
在当今数字化时代,HTML5(简称H5)技术以其跨平台、易开发的特点,逐渐成为游戏开发领域的重要选择。本压缩包中的“H5游戏源码 打字游戏.zip”提供了一个以打字练习为主题的H5游戏的完整源代码,为开发者提供了学习...
### HTML5应用和游戏开发体验 #### 一、HTML5技术概述 HTML5是超文本标记语言(HyperText Markup Language)的第五代版本,它在HTML4的基础上进行了大量的改进和扩展,提供了更多丰富的特性和功能,使开发者能够...
HTML5和CSS3是现代网页开发的两大核心技术,它们为创建功能丰富、视觉效果出色的移动Web应用提供了强大的支持。在"HTML5+CSS3移动Web开发实战(第2版)"这本书中,作者深入浅出地讲解了如何利用这两项技术进行高效的...
HTML5是现代网页开发的核心,它是超文本标记语言HTML的第五个主要版本,引入了许多新的特性和改进,旨在提升用户体验,简化开发者的工作流程,并增强网页的互动性。本代码清单涵盖了HTML5开发的关键要点和实例,是...
2. 表单控制:HTML5在表单处理方面做了很多改进,比如`<input type="date">`、`<input type="range">`等新类型的输入字段,以及`placeholder`属性和`required`属性,提升了用户体验和数据验证。 3. 存储机制:HTML5...
自HTML5标准正式定稿以来,游戏开发领域迎来了新的变革。游戏不再局限于传统的桌面端或者移动端原生应用,而是可以通过浏览器直接游玩,这大大降低了用户的入门门槛和开发者的发行成本。例如,微信游戏《围住神经猫...
【标题】"卡通女孩拼图HTML5游戏源码"揭示了这是一个基于HTML5技术开发的互动游戏,主要针对卡通主题的拼图游戏。...通过分析和研究这个源码,开发者不仅可以提升HTML5游戏开发能力,还能增强对Web开发全栈的理解。
例如,可能包括创建一个带有语义化结构的新闻网站、实现响应式布局、构建多媒体播放器、开发基于HTML5的游戏以及利用Web Storage和IndexedDB实现数据存储的案例。每个实例都旨在让读者亲手实践,从而更好地理解和...
《魔兽城堡HTML5游戏源码》是一款基于HTML5技术开发的游戏源代码,它为开发者提供了一个深入了解和学习HTML5游戏开发的平台。HTML5作为现代网页技术的重要组成部分,以其跨平台、无需插件的优势,逐渐成为游戏开发的...