首页 > 其他 > 详细

挑战练习5.5 堵住漏洞

时间:2018-10-30 20:23:28      阅读:325      评论:0      收藏:0      [点我收藏+]

作弊者是注定会失败的。当然,如果他们能一直避开反作弊手段,那就另当别论了。正所谓道高一尺魔高一丈,也许他们能做到。

1.GeoQuiz应用有些大漏洞,可以旋转CheatActivity来清除作弊痕迹。

解决方法,把数据保存在Bundle对象里面。

首先先定义好Key值

技术分享图片

然后在onSaveInstanceState方法里面把数据放进Bundle对象里面

技术分享图片

最后在onCreate方法里面把数据传回QuizActivity里面

技术分享图片

2.作弊返回后,用户可以旋转QuizActivity来清除mIsCheater变量值。

这个跟上面的解决方法一样,首先定义好Key值。

技术分享图片

然后一样是在onSaveInstanceState里面传数据

 技术分享图片

最后在onCreate方法里面拿出来

技术分享图片

3.用户可以不断单击NEXT按钮,跳到偷看过答案的问题,从而使作弊记录丢失。

这题的解决方法在第二个BUG的基础上解决。

首先定义好Key值:

技术分享图片

然后把原本的原本的mIsCheater变成一个布尔值的数组

技术分享图片

在onSaveInstanceState存放数据,这次的方法换成

技术分享图片

先把一些报错的地方改成mIsCheater[mCurrentIndex]

技术分享图片

技术分享图片

最后在onCreate方法里面加一个循环让mIsCheater都为false默认没作弊过,最后再在Bundle对象里面取值出那些题作弊过的数据处理

技术分享图片

 

 技术分享图片

 

挑战练习5.5 堵住漏洞

原文:https://www.cnblogs.com/real1587/p/9879184.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!