CSK.Blog--个人原创Weblog

用令牌信息来验证Flash提交信息的合法性

(详情请点击文章标题) 今天GRE学好回来的比较早,那就说一下昨天提到的问题: 搞过动态网页脚本比如ASP的朋友都知道,有一个HTTP_REFER的系统变量可以获得本次请求是又那个页面提交的。换句话说,可以用这个东西来知道用户是通过那个页面或其他网站上页面的连入本网站的。 ..... 那Flash和HTTP_REFER有什么关系呢?这里就不是单纯的盗链问题。我认为一般下面几种情况是需要判断HTTP_REFER的。 比如我在网站上写了一个Flash游戏,游戏结束后允许玩家上传自己的姓名和得分。这就会出现安全问题: 做过Flash交互的人都知道,Flash和后台网页脚本的交互手段目前一般是用MovieClip.LoadVarible();和XML.sendAndLoad()方法。这没什么问题,但服务器是不会判断提交数据的真实性的,只要我协议和语法格式一致,任何人在任何地方都能提交一个伪造的“得分”到服务器。而如果那个游戏时对高分进行奖励的,那损失可不小。 那么是不是也能用HTTP_REFER来解决呢?理论上似乎可以,但试过人会发现,那该死的FlashPlayer是不会发送Refer数据的(可能为了安全性)。这样HTTP_REFER就完全失效了。 ...... 但现在Flash完全是透明的东西。外面各种反编译软件可以很轻松的把swf高保真的还原到fla格式。这个密码也自然形同虚设……而且上面的登陆办法也有问题:如果玩家本人提交伪造数据呢? ..... 呵呵,想起来了吗?Flash8开始有了个新特性,可以利用ExternalInterface类随意访问外部JavaScript函数,也可以从外部JavaScript调用Flash中的用户函数。 ..... 首先调用外面的GetToken函数,然后GetToken调用了flash中注册的OnGetToken,并把Token作为参数传递回来。

疲劳和安慰

没想到每天读GRE还是很累人的……每天5:30起来和gf乘车去钦江路,然后回来。晚上我还要熬夜…… 不过比起这个来更累的得是开发了,可能有些朋友就发现昨天banner上的播放器有过一段时间的不稳定,现在已经解决了。主要是把banner开始交给ReformCore托管了。(昨天调试时也许你看到了泄露的ReformPost) 这次主要对ReformPost中的RPC部分作了安全修正,可以防止第三方向网站提交非法的RPC请求。 这样做的目的主要是考虑到现在Flash破解软件已经非常之盛行,对于作者来说,他辛辛苦苦的flash作品的代码和设计在一瞬间就会被一些人返向工程。从而被抄袭或者篡改。我一向不介意开放自己的代码,但至少如果有人没经过我允许把我的作品反工程,再作修改甚至发表时,我就不能忍受了。 但目前flash还是透明的,自己的设计和一些代码肯定会被反工程,所以为了减少可能的损失,我还是在这几天用仅存的4小时空余把ReformPost做了安全修正,每个Post今后都会附有通讯令牌(Token)。(值得注意的是,Flash的下一版本和ActionScript3.0开始已经无法逆向工程了)这样即使我的东西被非法盗连或者占用,他们也不会起任何作用,因为关键数据ReformCore都已经拒绝提供了。 呵呵,希望我以上的担心是多余的,但浪费了那么久时间还是值得的,毕竟Flash中无法提交HTTP_REFER,这个问题困扰了国内外的n多人,因为这样就没法验证是否flash被盗用了,呵呵,我想用令牌的方法至少是个有效的解决之道吧……以后专门写篇文章 今天老板发薪了,呵呵,开心ing... 要开始努力GRE和PRP了。

放假了,放假了?

虽然考试已经结束了,但似乎并不代表着什么,想想明天就要每天早起赶去徐汇读GRE就心理不爽…… 最近有了些时间做自己事情了,于是继续开始做ReformCore的一些开发,当然最直观的就是这个Blog上面的Banner已经换掉了。但我不清楚各位的评价如何。 最近又有人问我ReformCore为何物。首先目前世界上没有这个东西,因为它完全是我“造”出来的。而且可能它的大部分只是一直理念和信仰。我当初打算做ReformCore的想法很简单,为了简化我的日常生活,同时也是我学习人工智能的锻炼(虽然现在还没开始正式学……) 那为什么ReformCore又要和网站有关呢?首先ReformCore核心与外界程序交流信息时,会采用一种被我叫做ReformPost的XML协议,网站服务器上的ReformCore节点可以基于这个协议来进行RPC操作。而那些标有reformcore的网站,包括这个blog和在建的Flash新网站首先都包含ReformCore的通讯实体函数,同时他们在ReformCore的主知识库(就是数据库)里面是以独立实体(有独立的ID标号)存在的。 为了形象化,我也设计了一套自认为满意的图形界面(UI),称为ReformUI。如果我曾经给你新Flash网站的未公开地址的话你就会知道我说的是什么。这套图形界面库包含的对应得API函数,因此在包含了ReformUI的flash中开发基于图形界面的交互程序时,就会像开发windows程序那样方便和快捷。 那ReformCore和经常在我网站看到的那个标志有什么关系呢?(就是我QQ头像或者就是blog banner中间那个东西)。我的回答是:没有必然联系,关于这个符号的含义更多体现了我的信仰,这里也不多说。至于有些同志的胡思乱想我也不做评论。 这个寒假我将继续开发ReformCore的核心部分,当然也需它都只是一种理想的目标。 最后说说新加的banner.别以为它只是一个简单的动画,其实里面已经包括了ReforPost通讯库和脚本编译器。今后可以把它变成任何你想要的东西。 对于里面的音乐,我并无侵犯版权的意思,只是目前很多人blog上(或者msn space,况且也称为blog把)都有自己的背景音乐,所以也赶个时髦加上去了。 或许你会对某几首不感兴趣,不过可以尝试下一首,因为今后每天这里放的曲子都会不同(这是ReformCore决定的),当然现在还没作好这个功能,等后天估计就搞定了^_^

数据结构课程实践

这个学期的数据结构课终于告一段落了,虽然数构我高中就看过一些,但现在学好了还是觉得这是门比较复杂的学科。今天附上的就是这门课的每章的大作业。 虽然我不想对学校这门课作太多评价,感觉上的很不好,而且其实没有多少人是自己完成作业的(其实那应该是学校造成的)。但如果每次每道题目都能去做,尤其是那些打星号的题目也作的话,那的确能学到不少知识的。 我附上的文件是我的作业代码,当然我放上来的目的不是为了让大家抄袭,而且也不可能,因为关键代码我都留有个人信息。主要目的有这几个: 1.每次大作业对我都是个相当不好受的经历,每次都要花2-4天的时间去完成(当然我可以保证作业质量)。特别是最近刚完成的图那一章的作业更是令我痛苦。每次大作业其实已经不亚于编写Stereoic一半的工程量了。同时里面大部分题目我都尽力做了,除了AVL树和AOV网络求所有可能的拓扑序列这2道外。所以即使作业中仍有不足,我相信能给各位起到一些微弱的参考意义可已经足够了 2.我编写作业过程中尽力以符合工程强度的要求来书写代码,而不是简单的应付作业,所以其中每个组建,每个数据类型都可以立刻用于其他的实际应用中,同时可以保证运行的效率和健壮性。 这一套作业集是自成体系的,比如前面实现的双向链表,堆栈,将会在后面的使用中用到。 作业中已经提供的现成数据结构有: 双向链表,单链表,和他们的相关常用操作函数 多项式类,支持多项式乘法和加法 基于链表的队列和堆栈 基于数组的共享堆栈 带有父节点指针的二叉树 BST树 基于多重邻接表的无向图、基于十字链表的有向图 基于数组的并查集 二叉树的前序、中序、后序、广度优先遍历算法 图的广度、深度优先算法 图的KRUSKAL \ Dijkstra算法 有向图求解强连同分量的算法 以上的类型和相关算法在作业中是以单独的类形式封装的,同时以独立的头文件保存。所有代码采用C++模版。程序没有采用任何STL元素,同时支持异常处理。 正如我前面说的,实现数据结构并非是什么轻松的事,所以如果需要也可以采用我现成的代码来实现更高级的功能,而不需要花大力气去实现原始结构了。至于具体如何大家还是开代码吧。 同时程序中还附上一个自己写的将二叉树打印成文本形式的函数,这个在编写二叉树相关的程序是使相当直观的。比如下面就是函数直接显示的一颗BST的画面:
==================Asc Tree View===================
       H
      / \
   D       J
  / \       \
 A   F       K
  \
  B
================== End Of View ===================

好了不说废话了,附上一次作业程序的运行画面和下载地址:

Data Structure Act 5 Demos Designed By CSK(www.csksoft.net)

 ---------------------------------------- Please Select Demos:

[1].Get Strongly Spanning Graphs(Problem 1,2)

[2].KRUSKAL algorithm Demo(Problem 1,3)

[3].Dijkstra algorithm Demo(Problem 1,4)

[4].DFS & BFS Demo(Problem 1,4)

[0].Exit Load Demo Num:

=============================

Act 1 Problem 2:Multiply two polynomials

=============================

Would you like to use the default two polynomials?[Y/N]y

the first default polynomial is +7x^2+3.5x^3+2x^4+2x^9

the second default polynomial is +2.3x^2+4.4x^3+1x^4+6x^10

请按任意键继续. . .

polynomial1 * polynomial2 = +16.1x^4+38.85x^5+27x^6+12.3x^7+2x^8+4.6x^11+50.8x^1 2+23x^13+12x^14+12x^19

----------------------------

 Demo Finished

请按任意键继续. . .

我的实践作业下载:

http://www.csksoft.net/data/legacyftp/Products/APP/DataStructProduct_BY_CSK.rar

 

 原题下载(可能SJTU有版权..):

ftp://FTP_visitor:visitor@ftp.csksoft.net/Public/Article/DataStruct_Instruction.rar

 最后真心祝愿每一位将要考数构的朋友都能通过

高手挑战2关卡紧急调整

由于旷野无霜的空间已经到期,造成高手挑战2中部分关卡无法访问,给各位玩家造成了不便。由于我最近在考试,所以直到现在才发现这个问题。 现在已经做过修正了,原先在旷野无霜空间下的页面已经移植本域名的同级文件夹中,请各位玩家注意了。同时相应的关卡的试题已经做过了调整。可能难度也有点增加了。 原先的试题: 下一关就是以这张表命名的。 è用e替换,UNIX系统请保持小写。
     A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
 
 A   A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
 B   B C D E F G H I J K L M N O P Q R S T U V W X Y Z A 
 C   C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
 D   D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 
 E   E F G H I J K L M N O P Q R S T U V W X Y Z A B C D 
 F   F G H I J K L M N O P Q R S T U V W X Y Z A B C D E 
 G   G H I J K L M N O P Q R S T U V W X Y Z A B C D E F 
 H   H I J K L M N O P Q R S T U V W X Y Z A B C D E F G 
 I   I J K L M N O P Q R S T U V W X Y Z A B C D E F G H 
 J   J K L M N O P Q R S T U V W X Y Z A B C D E F G H I 
 K   K L M N O P Q R S T U V W X Y Z A B C D E F G H I J 
 L   L M N O P Q R S T U V W X Y Z A B C D E F G H I J K 
 M   M N O P Q R S T U V W X Y Z A B C D E F G H I J K L 
 N   N O P Q R S T U V W X Y Z A B C D E F G H I J K L M 
 O   O P Q R S T U V W X Y Z A B C D E F G H I J K L M N 
 P   P Q R S T U V W X Y Z A B C D E F G H I J K L M N O 
 Q   Q R S T U V W X Y Z A B C D E F G H I J K L M N O P 
 R   R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 
 S   S T U V W X Y Z A B C D E F G H I J K L M N O P Q R  
 T   T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 
 U   U V W X Y Z A B C D E F G H I J K L M N O P Q R S T 
 V   V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
 W   W X Y Z A B C D E F G H I J K L M N O P Q R S T U V 
 X   X Y Z A B C D E F G H I J K L M N O P Q R S T U V W 
 Y   Y Z A B C D E F G H I J K L M N O P Q R S T U V W X 
 Z   Z A B C D E F G H I J K L M N O P Q R S T U V W X Y 
很容易知道,这是vigènere表。因此原先的下一关文件名就是:vigenere.htm。 同时关于有些网友询问的是否会推出挑战3的问题,首先我想说的是现在我很忙,所以即使想做恐怕也没有充分的时间,再者高手挑战2目前还是有很多人在挑战中,同时以目前6800多人挑战,41人通过那可怜的通过率来看的话,我不打算把挑战3弄太难(其实我觉得挑战2还是相当基本的东西)。但我不想做成傻瓜式的游戏,所以如果我要做挑战3,那一定是有50多关的东西。这样又回到第一个问题:没时间 同时即使有了时间,那我肯定要先完成ReformCore。这又会让我相对的没时间。 不过好消息是:ReformCore控制下的新Flash网站提供了及时编程运行的特性,这使得我写某些编程教程便利了许多,至少能很生动,在结合目前的现状,我想如果我开始做挑战3了,那挑战3肯定不会做成目前那种多的到处可见但雷同的“黑客游戏”了。 至少我尽力让这个游戏变成一种享受,享受技术,享受乐趣,享受艺术(呵呵~~)

一张图片...

呵呵,懂得人自然明白...从bbs上看到的 现在大不如前了……

辞旧迎新

首先在这里真心祝愿每一位朋友新年里一切顺利! 一年其实很短暂,所以在新年里除了庆祝更应该珍惜每一秒时间,呵呵,这句话是说给自己听的,因为我就是属于比较浪费时间的人了~ 回想过去的一年,呵呵,其实不堪回首了,虽说几桩心事了却了,软件设计师也没白考。同时05对我来说还算是个多产的一年吧。做了些东西,呵呵,不过那个过程我就不想去提了。 (现在都觉得IT热门,似乎有人觉得编写程序和游戏是享受,国内更多的是想一蹴而就的当什么黑客之类,想想也可笑。其实搞这行的都知道有多辛苦。) 这一年过得很累,原因之一就是事情太多了,现在还有2个PRP等着我去收场,唉…… 最近一直忙着学业了,没很多时间去维护这个blog,也没有装计数器,不知道访问率究竟怎样。 等有空了就把这里改造下,以后banner可以在不同日期下变换风格,而且每天的背景音乐都会不同。 不过我比较阴险:以后加装计数器了会从原来的blog的访问率开始累计起来。嘿嘿,原来的好想有20000多人。这样就不见得太难看。呵呵,不知各位对我这个blog印象如何?毕竟是拿出去给人看得,觉得那里不顺眼就说吧~

曾经的爱好~和我做过的傻事

其实程序,不,应该是电脑不是我最初的兴趣。 我以前比较喜欢搞电子制作,但那是文化过低,没有到设计电路的份上,但看图接线还是会的~ 当时比较自豪的就是能自己设计焊接FM发射电路。升压装置,还有把模型电动船改装为遥控的~~不过现在看也是小儿科了。哎,小学的美好记忆阿 其实现在还是很喜欢这一切,但首先没有条件,其次没有时间。 弄过电子制作的人都知道,这方面的东西比较“脏”。因为有些元件往往不是买来而是从其他地方拆下来。因此往往会收集在别人眼里看来是垃圾的东西。而焊接和冒出的烟雾更是在普通公房里所不允许的。 但我还是会弄一些的。 前不久心爱的文曲星坏了,后来发现是排线折断,哎,这质量……处于没有替代排线,我就疯狂的用漆包线来替代,但似乎条件设备有限,焊接格外困难啊~~ 这是那时候拍摄的照片,应为工程艰巨,不留念也太对不住自己了 放大的地方,哎,自己的设备太原始,焊这个十分吃力。 但是最终由于排线过于密集,修复工程失败,但我不忍心,但没办法,寒假继续把~~ 上篇提到了数字电路的课程设计,其实第一个设计是做一个有时,分,秒,毫秒的计时器。 这就是变态之处。一般分就足够了,要显示小时…… 加上我没有过数字电路设计经验,于是用了最原始的计数器和7段数码显示译码电路,电路图一下子就成这样了…… 但怎么说也是自己设计的第一个电子作品了,呵呵。由于考虑精确性,我采用石英振荡器作为脉冲,但那该死的教科书给了个没标有供电源的电路图,无奈只好自己尝试…… 呵呵,以后学了单片机就爽了。毕竟比起程序,这个更实在些

成为历史的CET4

真莫名其妙,非要等这种时候SJTU才让我们考CET4。我自然也和大部分人一样:裸考! 哎,不想对这个评论什么,毕竟自己不好,到了大学唯一接触e文的时候出了英语课就是msdn、breakpoint还有查阅资料时看到的东东了……以前也有一段时间写句子是总有种要加上()和;的冲动~~~ 不过考前我还是做了些题目的,但发觉那样似乎没用。错掉的题目终究不知道原因,于是从书橱中翻出了高中时候整理的语法和词汇点还有错题集。 终于发现自己还不是彻底的idealist,高中的自己和现在简直不能比较,当时的认真似乎没有了。如果我真是idealist也许就不该读大学了,似乎这样还能学到更多。 有个办法是马上退学然后打着继续考大学的幌子读高四,然后死循环。利用高四的紧张气氛学习大学知识,然后考研。呵呵呵,我是疯子阿~~~ 期末将至,面对数点和基电的论文,没办法,那就做吧。我是属于那种宁愿自己不会做,交不出,也不会去抄别人的人。哎。不知道这种性格是好是坏,反正我知道多锻炼自己才能学到真本事…… 不过有些老师也太疯狂了,就比如X国华(呵呵~~其实n多人都这么叫他)。总把电子工程师放在嘴边,布置得作业和课程设计也bt。昨天在MutliSim里面胡乱弄了一下午,放弃……改日继续努力 呵呵。作为一个教徒,在这个日子里面还是要祝各位Merry Xmas!

来说说目前编译器对宽字符符号的支持

如果不明白标题的含义就看下面的代码: 如果我说这段代码能通过编译的话你会怎么想? ...
分页:[«][13][14][15][16][17][18][19][20][21]22[23][24][25][26][27][»]

日历

<< 2015-6 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Copyright Shikai Chen 2000-2012. Powered By Z-Blog(CSK Modified)