版权声明本声明 http://eric925.blogbus.com/logs/36785846.html 最近做blogbus插件广场项目,闲暇之余写了个开心网的抢车位外挂,在开心网的程序架构上学到了一些经验。 首先我注意到抢车位这个游戏停留在页面上数据是会即时更新的,而第一反映是ajax,然而
版权声明本声明
http://eric925.blogbus.com/logs/36785846.html
最近做blogbus插件广场项目,闲暇之余写了个开心网的抢车位外挂,在开心网的程序架构上学到了一些经验。
首先我注意到抢车位这个游戏停留在页面上数据是会即时更新的,而第一反映是ajax,然而为了控制服务器负载,是不应该不停产生请求的,分析后发现果然没有反复请求,而是在第一次访问页面的时候,把每个车位的盈利上限、下限、单位时间增长值等参数交给客户端,通过客户端js进行页面数据的更新。这样能有效降低请求数,同时提高用户体验。
其二,开心网的很多数据通过json传输给客户端,客户端js拼装数据展现给用户。比如侧边栏、还有很多插件的内容页。这样的好处是数据和页面的耦合度降低,调整显示效果和实现用户自定义化更容易,同时一定程度上减轻了服务器端的处理逻辑,提高开发的效率。在这方面,blogbus很多地方是通过document.write来实现,而不是json数据,虽然简化了服务器端处理逻辑,但在把数据部署在页面上的灵活性大大减少。
其三,开心网抢车位的反外挂代码。在抓包的时候看到一个acc变量,但它的值通过明文却没有搜索到,于是我意识到这是一个js生成的anti-bot校验码。最后在抢车位的页面找到如下代码:
- var gab16 = "c0af48b44127";
- var acc3 = "cbaktr0f1";
- function acc()
- {
- var acc = d7d65.length + gab16.charCodeAt(2);
- return acc;
- }
- var d7d65 = "7ec2d7bd3de3";
- var g761c = "90fc480bdfca";
- var acc3 = "cbaktr0f1";
- function acc()
- {
- var acc = d8a22.charCodeAt(1) + g761c.length;
- return acc;
- }
- var d8a22 = "640240afe45c";
var gab16 = "c0af48b44127"; var acc3 = "cbaktr0f1"; function acc() { var acc = d7d65.length + gab16.charCodeAt(2); return acc; } var d7d65 = "7ec2d7bd3de3"; var g761c = "90fc480bdfca"; var acc3 = "cbaktr0f1"; function acc() { var acc = d8a22.charCodeAt(1) + g761c.length; return acc; } var d8a22 = "640240afe45c";
反复测试后,发现这段代码通过随机的变量名和随机的方法来构造出acc值。有的时候是charCodeAt,有的时候是length,有的时候是substr。不过语法太过简单,轻而易举就能转化成php语法,一算就出来了。相比之下很多广告联盟的anti-bot代码更复杂很多。
其四,最近我们技术部在讨论静态文件的permanent link问题,看了看开心网这样包含不少图片/flash的页面,发现没有特别的部署permanent link,一些可能经常升级的js文件采用了filename-n.js这样的版本号部署,可是这个方案已经被我们否决了,原因是改一个静态文件得修改相关的动态程序模板。这种模式要求上线后的静态文件不能隔三岔五的修改,否则修改版本就要死人。不过开心网通过chinacdn来cdn的静态文件,流量压力有所减少吧。

作为一名Java开发者,学习和使用Spring框架已经是一项必不可少的技能。而随着云计算和微服务的盛行,学习和使用SpringCloud成为了另一个必须要掌握的技能。SpringCloud是一个基于SpringBoot的用于快速构建分布式系统的开发工具集。它为开发者提供了一系列的组件,包括服务注册与发现、配置中心、负载均衡和断路器等,使得开发者在构建微

win7系统自带有备份还原系统的功能,如果之前有给win7系统备份的话,当电脑出现系统故障的时候,我们可以尝试通过win7还原系统修复。那么win7怎么还原系统呢?下面小编就教下大家如何还原win7系统。具体的步骤如下:1、开机在进入Windows系统启动画面之前按下F8键,然后出现系统启动菜单,选择安全模式登陆即可进入。2、进入安全模式之后,点击“开始”→“所有程序”→“附件”→“系统工具”→“系统还原”。3、最后只要选择最近手动设置过的还原点以及其他自动的还原点都可以,但是最好下一步之前点击

随着Web应用程序的需求越来越高,PHP技术在开发领域中变得越来越重要。在PHP开发方面,测试是一个必要的步骤,它可以帮助开发者确保他们创建的代码在各种情况下都可靠和实用。在PHP中,一个流行的测试框架是PHPUnit。PHPUnit是一个基于Junit的测试框架,其目的是创建高质量、可维护和可重复的代码。下面是一些学习使用PHPUnit框架的基础知识和步骤

《新时代农场主模拟器》《黑心资本家模拟器》...在评测区又可以看到一套又一套资本家PUA打工人的话术。纵使最后发现原来小丑是自己,玩家才是活生生存在的帕鲁。但在游戏中翻身把歌唱的爽感,那也还是爽。这几天围绕着《幻兽帕鲁》的热梗不断出现。所谓树大招风,当一个初看就很离谱的游戏,它的往后的故事线似乎就跟离谱绑定上了。这游戏作为缝合怪,被东半球最强法务部盯上倒也不足为奇。别慌,这只是玩家制作的宝可梦MOD没想到还能被动物保护组织骑脸输出。更加离谱的是,鸡哥这几天看到一个新闻,原来这游戏只有一个程序员负

香港中文大学(深圳)吴保元教授课题组和浙江大学秦湛教授课题组联合发表了一篇后门防御领域的文章,已顺利被ICLR2022接收。近年来,后门问题受到人们的广泛关注。随着后门攻击的不断提出,提出针对一般化后门攻击的防御方法变得愈加困难。该论文提出了一个基于分割后门训练过程的后门防御方法。本文揭示了后门攻击就是一个将后门投影到特征空间的端到端监督训练方法。在此基础上,本文分割训练过程来避免后门攻击。该方法与其他后门防御方法进行了对比实验,证明了该方法的有效性。收录会议:ICLR2022文章链接:http

这个问题涉及到许多实际上并不了解核心技术并希望在SeleniumAutomation领域发展职业生涯的专业人士。编码这个术语让非程序员有点害怕,甚至不敢从自动化之类的东西开始。人们认为非程序员无法在自动化方面表现出色,但这只是在头脑中。许多值得和有能力的手动测试人员回避Selenium,只是认为它需要一些特殊技能。Selenium脚本是用多种语言设计的,例如Python、Ruby、C#、JavaScript和Java就是其中之一他们当中就有这样的人。了解了Java的受欢迎程度和未来前景,现在更倾

Laravel是一个基于PHP的开源Web应用程序框架,是当今最受欢迎的框架之一。它的设计思想是以简单、优雅的方式解决复杂的问题,为开发Web应用程序提供了丰富的工具和资源。如果你想在PHP中学习Laravel框架,下面是几个关键步骤:第一步:安装和配置Laravel在开始使用Laravel之前,您需要安装PHP和Composer。Composer是一个PH

随着win10系统的成熟,微软停止win7的更新和支持,越来越多人选择win10系统使用,打算将自己的win7升级win10系统。不过很多小伙伴不知道win7如何升级win10系统,找不到升级的按键。下面小编教大家一个简单的win7升级win10系统的方法。我们可以借助工具轻松实现win7升级安装win10的方法,具体的操作步骤如下:1、先在电脑上下载安装小鱼一键重装系统工具并打开,关闭电脑的杀毒软件,备份c盘重要资料。然后选择需要安装的win10系统点击安装此系统。2、这个界面选择想要安装的软


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Dreamweaver CS6
視覺化網頁開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。