寻找聊城做网站的公司,做羞羞的事情的网站,永久域名网站,wordpress去除目录接到求助#xff0c;帮朋友完成20课时的网络学习。 我想都没想就接下了#xff0c;寻思找个接口直接把学习时间提交上去#xff0c;易如反掌。 最不济最不济#xff0c;咱还能16x播放#xff0c;也简单的很
然鹅#xff0c;当我登陆的时候#xff0c;发现自己还是太天真…接到求助帮朋友完成20课时的网络学习。 我想都没想就接下了寻思找个接口直接把学习时间提交上去易如反掌。 最不济最不济咱还能16x播放也简单的很
然鹅当我登陆的时候发现自己还是太天真。 首先不能多开窗口。打开第二个播放窗口后就会弹出
其次倍速播放不管用……无论多快的播放速度获取学习时长的间隔还是一样的。 经过分析这个学习是通过每隔一段时间通过post请求上报视频播放时间而不是上报播放时长。
这已经是我见过防作弊做的最好的站了除了人脸识别上课。 于是有两个思路来“偷懒”
1直接post播放时长。
按照请求格式把session_time字段写的长一写甚至直接写成本节课的时长我没测试。然后提交就可以获得学习时长。 但是这个方法太暴力不知是否会出发后台警报之前测试一个学习平台post请求发出去返回了“账号作弊已记录拉黑……”巴拉巴拉的。
2窗口多开。
稳妥一点的还是老老实实的挂课多窗口学习。 搜索“停止计时”发现多窗口检查居然是通过一个xhr请求的返回值1/2来判断。那我们可以拦截并修改这个请求即可绕过检测。 这里我用的油猴脚本也没啥技术含量就几行简单的代码
(function() {use strict;const originOpen XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open function (method, url) {if (url.indexOf(checkcourse.do)-1) {this.addEventListener(readystatechange, function () {if (this.readyState 4) {const res JSON.parse(this.responseText);Object.defineProperty(this, responseText, {writable: true,});this.responseText 1;console.log(this.responseText);}});}originOpen.apply(this, arguments);
};
})(); 总结 简单记录下