Warning: curl_exec() has been disabled for security reasons in /pub/host/sunboyu/sunboyu/www/wp-includes/http.php on line 1022
ucenter 一个程序猿 孙小一,孙小二,PHP,MYSQL,LINUX,APACHE,原创技术,扯淡

康盛,这么做是不是有点过火了-2

作者 : admin 于 2009年12月24日, 20:15:57
2009
12-24

自打上篇文章 康盛,这么做是不是有点过火了发表后,引起很多朋友讨论。有些朋友从技术上抨击了这种做法,有些朋友从商业上去理解这种做法。当然,我们是搞技术的,单纯从程序安全和数据安全上来分析一下。

老样子,后台有个get提交:
http://u.discuz.net/customer/update.php?get=a%3A16%3A%7Bs%3A7%3A%22sitekey%22%3Bs%3A16%3A%22f270e28a8b0Qv1Y8%22%3Bs%3A7%3A%22version%22%3Bs%3A3%3A%222.0%22%3Bs%3A7%3A%22release%22%3Bs%3A8%3A%2220090825%22%3Bs%3A3%3A%22php%22%3Bs%3A5%3A%225.2.6%22%3Bs%3A5%3A%22mysql%22%3Bs%3A6%3A%225.0.22%22%3Bs%3A6%3A%22dbsize%22%3Bi%3A1298163%3Bs%3A7%3A%22charset%22%3Bs%3A5%3A%22utf-8%22%3Bs%3A8%3A%22sitename%22%3Bs%3A12%3A%22%E6%88%91%E7%9A%84%E7%A9%BA%E9%97%B4%22%3Bs%3A7%3A%22feednum%22%3Bs%3A2%3A%2210%22%3Bs%3A7%3A%22blognum%22%3Bs%3A1%3A%220%22%3Bs%3A8%3A%22albumnum%22%3Bs%3A1%3A%220%22%3Bs%3A9%3A%22threadnum%22%3Bs%3A1%3A%220%22%3Bs%3A8%3A%22sharenum%22%3Bs%3A1%3A%220%22%3Bs%3A10%3A%22commentnum%22%3Bs%3A1%3A%220%22%3Bs%3A8%3A%22myappnum%22%3Bs%3A1%3A%224%22%3Bs%3A8%3A%22spacenum%22%3Bs%3A1%3A%223%22%3B%7D&h=aa380aa3

urldecode并且反序列化,得出这么一堆东西

  1. Array
  2. (
  3.     [sitekey] => f270e28a8b0Qv1Y8
  4.     [version] => 2.0
  5.     [release] => 20090825
  6.     [php] => 5.2.6
  7.     [mysql] => 5.0.22
  8.     [dbsize] => 1298163
  9.     [charset] => utf-8
  10.     [sitename] => 我的空间
  11.     [feednum] => 10
  12.     [blognum] => 0
  13.     [albumnum] => 0
  14.     [threadnum] => 0
  15.     [sharenum] => 0
  16.     [commentnum] => 0
  17.     [myappnum] => 4
  18.     [spacenum] => 3
  19. )

sitekey是什么?通过阅读代码,sitekey是pre_config表里一个字段,跟以下代码配合工作

  1. $hash = $_SCONFIG['my_siteid'].'|'.$_SGLOBAL['supe_uid'].'|'.$appid.'|'.$current_url.'|'.$extra.'|'.$timestamp.'|'.$_SCONFIG['my_sitekey'];

它跟manyou服务器配合,才有权从你的服务器上拉取你数据库中的某些信息。

其他字段,我们看字面意思基本也能知道是干啥用的。

继续运行程序,我们看当一个用户第一次安装应用的时候做了什么。

这个信息要从服务器上截取,我是根据nginx日志和程序中截取反馈信息获得的。

服务器日志:

  1. 124.238.249.171 - - [24/Dec/2009:20:02:40 +0800] "POST /uhome/api/my.php HTTP/1.0" 200 192 "-" "myop/1.0" "-"

manyou服务器发来post请求。post信息不会在日志里,底下是我抓取来的信息:

  1. [post] => Array
  2.                 (
  3.                     [module] => Users
  4.                     [method] => getInfo
  5.                     [sign] => 271ce9942c94fc4f4d39445e133105bc
  6.                     [params] => a:1:{s:4:\"uIds\";a:1:{i:0;s:1:\"3\";}}
  7.                 )

做过sns网站应用开发的应该很容易看懂底大概是什么意思。
看看我们的程序给manyou平台返回了什么信息:

  1. [result] => Array
  2.                 (
  3.                     [0] => Array
  4.                         (
  5.                             [uId] => 3
  6.                             [handle] => sunboyu1
  7.                             [action] =>
  8.                             [realName] =>
  9.                             [realNameChecked] =>
  10.                             [gender] => unknown
  11.                             [email] => dfafdasf@123.fdsafds
  12.                             [qq] =>
  13.                             [msn] =>
  14.                             [birthday] => 0000-00-00
  15.                             [bloodType] => unknown
  16.                             [relationshipStatus] => unknown
  17.                             [birthProvince] =>
  18.                             [birthCity] =>
  19.                             [resideProvince] =>
  20.                             [resideCity] =>
  21.                             [viewNum] => 0
  22.                             [friendNum] => 0
  23.                             [myStatus] =>
  24.                             [lastActivity] => 0
  25.                             [created] => 1261655045
  26.                             [credit] => 25
  27.                             [isUploadAvatar] =>
  28.                             [adminLevel] => none
  29.                             [homepagePrivacy] => public
  30.                             [profilePrivacyList] => Array
  31.                                 (
  32.                                 )
  33.  
  34.                             [friendListPrivacy] => public
  35.                         )
  36.  
  37.                 )
  38.  
  39.             [mode] =>

有了这些数据,我又注册了一个号码,把资料填全,看看是不是都被抓走:

  1. [result] => Array
  2.                 (
  3.                     [totalNum] => 0
  4.                     [friends] => Array
  5.                         (
  6.                         )
  7.  
  8.                     [me] => Array
  9.                         (
  10.                             [uId] => 4
  11.                             [handle] => sunboyu2
  12.                             [action] =>
  13.                             [realName] => 一个程序猿
  14.                             [realNameChecked] => 1
  15.                             [gender] => male
  16.                             [email] => 1231231@fdsfdsa.com
  17.                             [qq] => 176300676
  18.                             [msn] => sunboyu@gmail.com
  19.                             [birthday] => 2004-02-01
  20.                             [bloodType] => B
  21.                             [relationshipStatus] => single
  22.                             [birthProvince] => 北京
  23.                             [birthCity] => 东城
  24.                             [resideProvince] => 黑龙江
  25.                             [resideCity] => 佳木斯
  26.                             [viewNum] => 0
  27.                             [friendNum] => 0
  28.                             [myStatus] =>
  29.                             [lastActivity] => 1261657227
  30.                             [created] => 1261657100
  31.                             [credit] => 40
  32.                             [isUploadAvatar] => 1
  33.                             [adminLevel] => none
  34.                             [homepagePrivacy] => friends
  35.                             [profilePrivacyList] => Array
  36.                                 (
  37.                                     [relationshipStatus] => friends
  38.                                     [birthday] => friends
  39.                                     [bloodType] => me
  40.                                     [birthPlace] => public
  41.                                     [residePlace] => public
  42.                                     [qq] => me
  43.                                     [mobile] => public
  44.                                     [msn] => public
  45.                                 )
  46.  
  47.                             [friendListPrivacy] => me
  48.                         )
  49.  
  50.                 )
  51.  
  52.             [mode] =>
  53.         )

差不多基本资料都过去了。

这样,可以看出,康盛的服务器不断得在抓取用户的信息。这个事情是不是过火,从商业的角度,是应该很过火的。他把用户产品内的账号信息等关键东西都抓走,这些信息到他们手里,难免会交易给竞争对手。
但是,从技术上讲,康盛的manyou服务器还有个缓存的功能。如果拉取用户信息这个请求都放在网站的服务器上,我相信大多数虚拟主机的用户会不堪重负,而康盛其实为这些负载买单了。买单的结果,就是你得把用户的信息提供给康盛。就这么简单。

从程序安全上讲,你的数据库信息,尤其用户信息,在你的网站和manyou之间共享,而康盛没有拉走用户或者管理员资料,也没有发现其他信息的提取,所以,两者之间是安全的。第三方网站是无法获得这些资料的。

但从商业安全上讲,康盛的服务器是否可信?康盛是否会拿这些信息作一些站长不希望做的事情?这个只能由官方来解释了。

睡一觉,研究其他产品去。