流氓下载站赢利全攻略

  作为决心采用流氓手段赚钱的站长来说,最佳的选择就是软件下载站,而且一定要是免费下载,连注册都不需要。网站里添加的资源全都是平时很难找到的软件,大软件。介绍一定要全,资料要详细——这些网上有的是,只要动手添加就可以了,软件的下载地址,可以随便写,FTP的也行,HTTP的也行,切记不要写自己站点的地址,可以随便编一个,文件名也要煞有介事地添加(虽然目标不存在)。

  基本上不用做太多宣传,到网上搜索一下类似Office,金山词霸,三国VI 硬盘版之类的下载,挑比较靠前的(一般都是论坛里的求某某软件下载的帖子),去注册一下,拿你自己站点里的软件下载地址做回复。这样比去做宣传更有效果。

  访问者最有可能就是通过Google或者百度来到你的网站,打开某个他到处寻找而不得的软件一看,介绍、图片都很完整,而且每个软件还都有完整ISO版、绿色免安装版、英文原版、简体中文版……真是可以“各取所需”啊,下载那里是“请先点击下列广告以打开下载地址”,然后大概4个广告,旁边有个醒目的链接“报告链接错误”,广告下面是隐藏的广告地址,再下面的是“为保证下载速度,建议使用讯雷下载,本站单线程下载速度最低200k/s左右,为了大家都能快速下载,请自觉限制2个线程。”

  网友一一点击广告之后,下载地址出来了,也很真实,电信下载点、网通下载点、铁通下载点……,点击之后弹出下载页面,下载网站管理程序的Download.asp自动根据IP读取出数据库中的下载地址,发送到浏览器,用户会看到地址栏是正儿八经的软件文件名和地址,比如(http://www.wukangrui.net/Soft/Design/Adobe_PhotoshopCS_v9.0c_CHS.iso),可是页面提示“资源无法找到”……
  网友最开始的时候可能会以为是盗链别的网站的下载,人家把文件删除了,现在做软件下载的不容易,做破解版下载的更不容易,所以网友也不会因为一个地址下载不了就怪站长。有的用户会去点击“报告链接错误”,也有的会发表评论说“不能下载啊”。这些都不要紧,对于一个用户的一次访问,4个广告点击已经赚到了。他在发现网站的真相之前,应该还会点击2-3个软件的广告,然后有一部分用户才能判断出这个网站其实就是骗人的。

  随着访问量的增加和点击率的提高,来的人还会更多。作为站长,除了添加资源,网上搞宣传,还有一个重要任务就是偶尔去评论一下,说什么“速度很快啊,谢谢!”、“终于找到了,谢谢!”、“怎么解压不了啊?”“楼上的是不是下载过程中文件损坏?重新下一个看看”、“运行安装需要序列号,请问序列号在哪里有?”、“我有一个序列号,找不到序列号的朋友可以用这个:XXXXX-XXXXX-XXXXX”;这些事情,站长闲的时候随便凭想象力去弄就好了,这些评论除了给人制造一种这个网站是真实的错觉以外,还有一个好处就是这些评论都会被搜索引擎发现的。

  大家都知道网站的收入主要是靠广告,广告费的多少取决于访问量,而访问量的增加最终是要变成广告点击率的。你只要保证你的网站存在并且保持更新(这样的更新很容易的——什么软件都不用找,直接编造下载地址就可以),流量、排名很快就会上去了。等到广告商发现你作弊的时候,至少也是收入一两次以后了,而且你的作弊并非对广告商作弊,你的每个点击都是真实的网友点击,广告商是不是会封锁你的ID,这个还不一定呢。

  网友也会发现你的网站是骗人的,但是一般来说每次发现完以后,他就会忘记你的站点了,下次搜索过来,还是会点击……,就算发现之后就记住了你的站点也没关系,中国的网民数量多得不得了,你根本不用考虑回头率的问题。

  等到广告收入开始下滑,证明能骗到的人已经越来越少的时候,这个网站已经赚了很多钱,而且PR值和排名都不会太糟糕。你可以把他改版做别的不骗人的网站,也可以改版后继续做别的类型的网站骗人(比如小说下载,方法一样),或者你也可以把域名卖掉(这个纯属废物利用了),卖不掉也没关系,域名到期后不要管它就行了。你可以另外买个域名,继续骗人,原来的站点上多做新站点的链接,或者就是“本站已经迁移到xxxxx,请访问下列地址:http://www.someurl.com ……”

  做这样的网站,并不是可以坐地收钱的,站长一样要“勤劳”工作,还要有想象力,骗得越多也就功力越深。千万不要暴露你自己的真实QQ号和Email,真实资料就更不用说了。

  现在的中国互联网,就是谁学流氓学得好,谁把流氓行为用得越到位,谁就越成功。个人网站都是小打小闹,要想学到这方面的真本事,好好研究一下新浪搜狐和网易就可以了。它们才是炉火纯青……

关于博客和链接

  忘了是前几天在哪里看到一篇文章,写“链接是博客的生命”,而且好像也的确是在很多博客上都看到长长一大串的友情链接。我的不多,最近新增了几个才达到了10多个。

  研究SEO的同学经常提到友情链接对于提高网站访问量有大作用,要找什么样的网站做链接……在6571学生网排名很高的时候,也有一些做学生网站的站长来找我做链接。我才知道原来6571排名高,给他们做链接能帮助他们提高排名。

  不过我的博客我就不太在意链接的问题,往往在我的博客上出现的链接有这几种情况:

  1. 跟我博客性质相近的个人博客,我去过他的网站,然后看了感觉不错,一时兴起,给作者留言说做个链接吧,然后也不管人家怎么想,就在我这里把链接做上了。
  2. 我的朋友和同学,我的同学很多,但是朋友就没有那么多(此处的朋友取狭义,单指见过面在一起上过课做过事或者其它情形的好朋友,网友暂不计——虽然我的网友比网下的朋友还多),朋友里面做网站或者写博客的就更少。这种情况下加个链接,一是证明“某某是刀刀的同学或者朋友”,另外一个也方便自己访问。
  3. 一时兴起,某个网友的个人网站,久闻大名,据说访问量非常之高,聊天的时候半开玩笑——“给我做个链接,也提高一下我的排名”,结果就做上了。

  基本上我做链接从来是不去看对方排名或者流量之类的。因为本身我写博客的目的很简单,就是因为我想写,有人看要写,没人看也还要写的。所以对于排名、访问量之类,也就不是很在意了,所以我的域名都换了N个,空间也搬来搬去,一个域名熬得有点成绩了,我没准又换新的了。

  还有一个原因我也不太敢做链接,就是当我换程序的时候,用户资料很少做同步或者升级,这一点实在是比较对不起曾经在我的博客注册过的朋友们……而且换程序的时候,没准就忘了把链接再补上。换域名也是,很少会花时间去通知朋友给我更新一下链接地址……

  以前我总觉得这是自己写博客没有什么特别的目的,所以是这种心态,写到最后才发现,好多事情其实是我太懒了所以成今天这样。NND,一定要把“懒”这个毛病改掉了!

上网之累

  因为看了易中天教授的节目,于是读了易中天教授的书;因为读了易中天教授的书,所以上了易中天教授的blog;因为上了易中天教授的blog,所以写了篇关于易中天的评论——这是我写这篇文章的动机和起因,但这篇文章却不是要评论易中天教授的观点或者是他的研究。

  小李刀刀是个程序员——还是兼职的,既不是评论员,更不是史学研究员,要对厦门大学教授的学术研究作评论,我还没这个胆。但是在网络上就有这样的自由——不管我是干什么的,我只要愿意,我就有这个机会对别人的言论行为指手画脚——这就是我所谓的“上网之累”。

  易中天教授发表了一篇《关于诸葛亮》,于是引来了近400条评论,这些评论有和易教授交流看法的,有批评的,还有谩骂的,当然也有支持的,这就是网络环境下特有的现象。按说易教授是搞研究和大学教学的,跟某些行业的人肯定是扯不上关系的,怎么引来了这些人的谩骂呢?就因为他展示自己学术研究成果的场合,一个是媒体——中央电视台的《百家讲坛》,一个是网络——新浪的“名人博客”。

  我不知道易教授看了他博客里那些评论什么想法,但是看到易教授有写专门的文章来答网友评论的。有些人在评论里说“我就看不惯你们这些老家伙如何如何……”,希望易教授看了不会生气和感叹现在人的素质低下。这纯粹是因为网络的原因。

  网络让人可以藏在屏幕背后肆无忌惮地说话,上网的人鱼龙混杂,有搞研究的专家,有经济精英、文化精英、科技精英,有普通知识分子、工人、商人,有家庭主妇,当然也有地痞流氓。

  易中天是大学教授,是搞历史研究的,他不可能跟我们普通人一样看看《三国演义》,然后就把诸葛亮惊为天人,他们要研究分析,读无数的历史资料。罗贯中只是个小说家,就像金庸一样。历史学家不会读了《鹿鼎记》就把韦小宝当成清初重要历史人物。我们喜欢读金庸的小说,愿意把他小说里的当成真人真事,但是不等于我们应该阻止和拒绝接受真实的历史。

  所以有点知识水平的人有点素质的人,读了易中天教授对诸葛亮的评价,要么是像我一样,把这作为一种专家的观点来看,要么是自己有看法,提出来跟易教授探讨,或者就是一笑而过不置一词。那种没知识还偏以为自己掌握着真理,非要强迫别人接受自己观点的人,说出话来除了谩骂或者强硬摆出自己观点外甚至没有任何辩论能力,这种人如果易中天也要去想,要去“答复”,要去给他们解释。那只能说易教授受了上网的拖累……

  其实任何人只要在网上摆出自己的观点,难免就会遭到各种各样的不同评价和评论,原因上面已经说过了。网络从最早很虚幻的东西到如今已经越来越像真实的社会。唯独一点不同就是在现实中为我们不耻的某些人和事,居然在网上找到了温床和生长的土壤。这是难免的,我们不需要去逃避,但是应该要认清网络和现实的这点区别。不然,就真的要被网络累死。

中国教育的“连坐制度”

  今天读了一本书——《帝国的惆怅》,作者易中天,就是在CCTV的百家讲坛开讲三国的那位厦门大学教授。易教授的文字很有意思,把历史故事、历史评论这些很多人可能会绝对乏味无趣的东西,用生动的语言像说评书一样讲出来。比如王安石变法,中学历史课本讲过的,历史课本上除了简单介绍青苗法之类具体措施,就是把所谓的“意义”告诉你。而实际上学了之后依旧不明所以而且这段历史能够印在我们心里的只有五个字——“王安石变法”。

  中学历史的责任是让学生知道历史上发生过什么样的事,有些什么样的人。并不要求学生研究历史,因此说白了中学历史就是讲故事,当然了,教育大纲还有一个目的是要通过历史课把一些希望灌输给孩子的“研究结论”或者意识形态结合历史故事让学生接受。但即使是这样的目的,中学历史教学也绝对做得不合格。

  为什么?最简单的原因就在于故事没讲清楚,历史变成了政治甚至变成了死记硬背。考试是应付过去了,中国几千年历史上发生过什么,还是没概念,想起中学历史,脑子就剩下几个词:年代、内容、意义。

  我记得以前看那么多历史书,甚至还用心看,但是对一些概念从来没有真正理解过,对于秦朝的郡县、唐朝的州县、宋朝的府县、元朝的省……这些到底是什么样一个概念,我一直就没有,遇到好的历史老师,可能会给你比较一下“相当于今天的什么什么”。就这么简单一句话,写历史书的人坚决不肯说。

  如果是研究历史为目的,不学文言文显然是不行的,但是了解历史需不需要掌握文言文?似乎不需要,学习文言文是语文课——更准确说是古汉语课程的责任,历史课——特别是中学历史课,不应该去承担这个莫名其妙的责任和义务。那为什么历史课本在讲古代的人物事件,地名人名官职机构条款的时候,就不能白话一点呢?

  让十几岁的孩子硬记“大鸿胪”这么一个名词恐怕很难,但是如果告诉孩子“外交部长”,会不会好一些?起码这样就算是要灌输某些理论某些思想,也能灌输得到位一点。否则对历史感兴趣但是语文又不好,怎么办?听评书,看小说,看“演义”,看“戏说”……最后再来责备成年了成命了成了公众人物人物的当年的孩子连历史常识都不知道,这的确有点不应该了!

  因为文言文没学好导致语文成绩好不了,因为古代汉语学不好导致历史成绩好不了,因为英语没学好导致专业成绩好不了……在面向就业的领域,这样的现象太多也太不正常了。如果要搞历史研究的,要搞中文研究的,当然应该文言文要掌握好。可是对于普通人,有些行业连书面语用得都还算少,为什么把现代汉语把普通话都掌握好了还不能放过人家呢?在堂堂中国的土地上,怎么把英语搞得比语文都还要重要,什么科目都要被英语“连坐”了呢?真是怪哉……

  本文本来想写别的,写着写着跑题了,跑到别的主题去了……,不过还好这是自己的博客,不是作文考试,就改了标题权当另写一篇了,呵呵……

再战子域共享Cookie问题

  昨天贾宁旨光临寒舍,吃过晚饭回来后就跟他聊天,后来又玩了一会儿《Black Hawk Down》对战,到了大概晚上11点多,开始继续尝试用Response.Cookies.Domain来解决子域共享Cookie的问题。

  根据网上的资料,包括MSDN的文章都说设置 Response.Cookies("domain").Domain = "Microsoft.com" 这样的形式以后,可以实现该Cookie对整个“Microsoft.com”域下的所有服务器都可以共享。我在本机测试的时候,也的确实现了“xxx.com”和“www.xxx.com”的Cookie共享,但是把测试文件传到wukangrui.net以后,www.oophome.net 却无论如何读取不到 oophome.net 写入的Cookie。我的测试程序如下:

test.asp

ASP/Visual Basic代码
  1. <%       
  2. Const CookieName="daodaoeric"      
  3. Response.Cookies(CookieName).Domain = "oophome.net"      
  4. Response.Cookies(CookieName)("Name") = "haha"      
  5. Response.Cookies(CookieName)("HashKey") = "test"      
  6. %>  

 test2.asp

ASP/Visual Basic代码
  1. <%   
  2. Const CookieName="daodaoeric"  
  3. Response.Write Request.Cookies(CookieName)("Name")   
  4. Response.Write Request.Cookies(CookieName)("HashKey")   
  5. %>  

  上传到空间里以后,test2.asp就无法读取Cookies,什么都不显示。后来我想,会不会是需要给test2.asp也设置Cookie作用域呢?但是又不可能写 Request.Cookies(CookieName).Domain = "oophome.net"

  到睡觉的时候,这个问题还是没解决。

  夜里做梦,梦见我把test.asp和test2.asp都同时加了写入和读取Cookie的操作,咦?那么test2.asp不是也可以指定Cookie作用域了吗?

  醒来之后梦里的代码还历历在目,于是赶紧测试。两个文件修改如下:

test.asp

ASP/Visual Basic代码
  1. <%       
  2. Const CookieName="daodaoeric"      
  3. Response.Cookies(CookieName).Domain = "oophome.net"      
  4. Response.Cookies(CookieName)("Name") = "haha"      
  5. Response.Cookies(CookieName)("HashKey") = "test"      
  6. Response.Write Request.Cookies(CookieName)("eric")       
  7. Response.Write Request.Cookies(CookieName)("daodao")       
  8. %>   

test2.asp

ASP/Visual Basic代码
  1. <%   
  2. Const CookieName="daodaoeric"  
  3. Response.Cookies(CookieName).Domain = "oophome.net"  
  4. Response.Cookies(CookieName)("eric") = "daodao"  
  5. Response.Cookies(CookieName)("daodao") = "Eric"  
  6. Response.Write Request.Cookies(CookieName)("Name")   
  7. Response.Write Request.Cookies(CookieName)("HashKey")   
  8. %>  

  果然,这下在test.asp里读取到了test2.asp写入的Cookie,在test2.asp读取到了test.asp写入的Cookie,在浏览器里分别用www.oophome.net 和 ctc.oophome.net 来访问这两个页面,也都正确显示了读取到的Cookie。

  随后我把我的blog的用户Cookies处理部分根据这个测试做了修改,给写入和读取Cookie的代码前面加上了Response.Cookies(CookieName).Domian = "oophome.net",然后再测试,一切正如所期望的那样,在oophome.net的任何一个子域名下,都能正确读取到Cookie信息,判断登陆状态了。

 总结:

  只要在读取和写入Cookie之前都先用Response.Cookies.Domain = "域名根",就能实现该域名根下的所有子域名共享Cookie,而如果只是在写入Cookie的时候设置作用域而在读取的时候不设置,则不能共享。

发个小牢骚

  这两天每天只要上线,就在论坛上解答问题。《 三方整合问题坐诊-有问题都进来》这个帖子到今天已经有12页了。除了服务器原因和特殊需求外,使用最后更新的文件包的用户问题基本都通过检查配置文件能够得以解决。

  三个接口文件文件名各不相同,路径上有类似(动易和oblog都放在API目录下,而且配置文件都叫API_Config.asp),这也就难怪有些用户会想当然的以为oblog的接口也叫“API_Response.asp”,从而出现配置错误了。

  但是在12页的帖子里,极少有按照要求的格式来提出问题的。很多是描述一下问题,然后问“怎么解决”。于是我只能猜测可能是因为什么导致,让他去检查,排除一个可能,再让他检查下一个可能……。本来一次回复就能解决的问题,往往回复三次到四次解决。耽误了我的时间,也耽误了他的整合。

  有些问题是已经解答了的,问题也解决了,用户单独回复一个帖子说“问题解决了,谢谢刀刀”。一声“谢谢”让我觉得愧不敢当,因为本身是我们整合接口开发不够完善,设置上不够简单导致如此多的问题,而且论坛技术支持也是职责所在。但是我往往每次再来解决问题的时候,要单开一个记事本,遇到提问的就记下几楼,然后往后看,看到问题已解决,从记事本里删除掉。过滤一遍然后开始回答尚未解决的。

  基本上也没有人按照我提的建议或者叫要求,在问题解决后,修改一下自己的帖子说明“已解决”的。

  前天看到一个单发的帖子,标题前面写着“[已解决]”,但是帖子后面的标题我记得我没见过,又是和整合有关。就打开看看,原来是一个用户单独发帖咨询整合问题的,后来在别的帖子里他的问题得到了解决。他就把另外这个帖子修改了一下,标题说明“已解决”,内容里又写了如何解决的。

  后来我特意搜索了一下,看到如下帖子:

  印象最深的是langzi_xw,他从第一个贴“整成这鬼样了!”,先后遇到过几次问题,还帮别人解决过一些问题。每次问题解决后,他都要回复说明已经解决。自己的帖子,标题也要改一下。

  我想我也应该对他还有和他一样的朋友说声谢谢!“已解决”三个字,帮我节约了很多时间,鲁迅说“浪费别人的时间等于谋财害命”,那节约别人的时间,也不亚于救人一命啊。真的,非常感谢这些朋友!

Microsoft SQL Server 2005商务智能初体验

  昨天去北京昆仑瑞通高级技术培训中心参加了微软TechNet动手实验营的实验课程,一天的时间里,在微软高级讲师的指导下,亲自动手操作,体验了MSSQL Server 2005强大的商务智能(Business Intelligence)功能。

  以前用SQL 2000和ACCESS,通常要进行一些数据批量处理,或者把数据动态显示输出到WEB页面,都是自己写SQL语句和ASP程序来实现。对于SQL 2000和ACCESS自带的创建web页面、导出Excell等功能,则只是知道,从来没有用过,毕竟可定制性太小了。

  在动手实验营,我们一共做了三组实验,第一组是用商务智能的Report Service Project,在图形化界面下,通过简单拖拽等操作,生成自定义输出字段、自定义格式、自定义分页的可排序、带统计的报表。

  制作报表的简单程度,可以这样描述:创建项目–>定义数据库连接–>用向导创建查询得到需要的检索结果–>拖拽方式定义排序–>拖拽方式定义统计字段–>可视化编辑器定义报表格式–>生成报表–>把报表发布到WEB站点。整个过程中,不需要写任何一行代码(创建数据库链接和生成查询那里,我自己手写了SQL语句,这样比较快,但是并不是必须的,因为向导可以自动生成这些语句),也不需要懂得网页制作。这就意味着企业的财务工作人员,只要会用SQL Server 2005,就能实现自己管理维护企业内部站点中的财务查询、动态报表生成、数据导出为Excell或者其它文件格式等WEB功能模块。而且其中大部分的工作,都是SQL Server做好的。

  第二组实验是在Visual Studio 2005中用C#编写控制台运用程序,通过WebService查询远程数据库信息的实验。这个实验因为是属于Visual Studio 2005和C#编程的部分,基本上可以说不属于SQL Server 商务智能,但是它所利用的Web Service,则是在第一个实验中SQL Server 2005自己创建的,因此可以说是一个延续吧。由于涉及的编程很简单,而且又不是重点,这个实验我5分钟就做完了&mdash;&mdash;当然这是因为Visual Studio 2005的可视化集成开发环境提供了极大便利,我总共写了不到10行代码……

  第三组实验最为复杂,步骤很多,而我认为这个实验也是我这次最大的收获。它涉及的是这样一个操作:数据转换。而且是从文本转换到SQL Server。以往在ASP里做同样的处理,往往是利用FSO对象或者File Stream对象,读取文本,然后对文本内的数据,进行分析处理。效率低不说,操作也复杂。在SQL 2005商务智能项目中,提供了SQL Server 2005 Intergration Service(SSIS),可以方便地创建可靠而复杂的解决方案,用于执行提取、转换和加载数据 (ETL) 的处理。

  这个实现是利用添加控件的方式,创建平台文本数据连接,直接读取文本数据库,这里还能定义每个字段以什么数据类型读入。然后添加一个数据转换流,平台文本数据连接的绿色箭头拖到数据转换流,然后在数据转换流中定义字段的对应关系(可以重复这一过程以把不同的字段的处理分解成多个步骤,以实现具体的控制),最后把数据转换流的箭头拖到OLE DB数据输出,就完成了整个操作过程,在设计视图中创建流程的整个过程,感觉就像搭积木一样。

  上面的步骤完成了,只是完成了一个文本数据库到SQL数据库的转换,要是有很多个同样的文本数据库呢?这时候就可以拖动一个循环容器,把第一步创建的ETL包放到循环容器里,然后跟着向导创建一个用户变量,此变量代表每一个具体的文本数据库,输入则可以选择指定目录下的“*.txt”文件。从而实现所有文本数据库循环执行第一步创建的ETL包。

  如果某一个ETL包出现错误,会导致整个流程终止&mdash;&mdash;我们在ASP编程转换数据的时候也一样,如果没有定义On Error Resume Next,其中任何一个步骤的错误都会导致500错误和程序中止。而在SSIS中,已经内置了错误捕获和处理,你只要添加一个处理错误的控件,然后把可能导致错误的某一个数据转换流的红色箭头拖到错误处理,并且在属性里定义“错误处理”为“重定向行”就完成了处理。

  还可以为ETL添加创建操作日志的控件、记录错误日志的控件……

  所有操作完成后,点击“部属”就可以把你做好的SSIS部属到指定的SQL Server实例。一个包含10多个文本数据库的转换操作过程,只用一个多小时(因为是边学边做),就可以完成了,而且中间没有任何一个编程处理,也不需要写任何一行代码(SQL语句可以自己写也可以向导生成)。

  我从培训中心出来的时候,感觉收获甚丰,但是还有一个感觉&mdash;&mdash;SQL Server 2005似乎一下子让我们所做的ASP数据迁移工具、用户数据同步程序等,变得失去了意义;而且,SQL Server 2005会让我变得越来越懒-_-!

  这次动手实验营的这些实验,在SQL Server 2005的联机手册里都有,有兴趣的朋友可以自己体验一下,真的很爽哦:)

关于整合后动易后台不能修改用户信息的解决

  大家知道整合三方都发布是在4月14号,而动易2006的最后一次更新是4月10日,组件最后更新是4月11日。动易后台与整合相关的代码是在4月7号左右封装到组件里的,之后就没动过了。

  但是三方统一接口规范在后来做了调整。因此按4月7日前的讨论稿写的动易后台的整合接口就和现行规范不一致了,发送的是32位大写的MD5密码,导致在论坛和博客的接口返回安全码校验失败的问题。

  已经把问题转告了悟空和感觉,要求他们在接口中增加对安全码长度和大小写的处理。在三合一文件包中的动网和oblog接口,已经增加了长度判断处理的大小写处理。如果是先整合的出现了这个问题,可以用三合一文件包中的文件来解决。

动易2006通行接口更新记录及下载

最新文件下载:/works/PDO_API_TIO.rar [文件更新日期:2006-04-18]

更新记录:

4月11日:

 'API_Response.asp:
    If sPE_Items(conUserstatus,1) = "1" Then
        rsReg("IsLocked") = True
    Else
        rsReg("IsLocked") = False
    End If
'说明:解决同步注册默认状态为锁定的问题。

'User/User_Logout.asp
Action = Trim(Request("action"))
Dim MemberName,APISysKey
MemberName = Request.Cookies(Site_Sn)("UserName")
APISysKey = MD5(MemberName&API_Key,16)
'Response.Cookies(Site_Sn)("UserName") = ""
Response.Cookies(Site_Sn)("UserPassword") = ""
Response.Cookies(Site_Sn)("LastPassword") = ""
'说明:解决注销时取不到用户名而不能注销的问题

'JS/checklogin.js
function getAPIUrls(root,username,userpass){
 var strTempHTML = "";
 var iName,iPass;
 var syskey = root.item(0).getElementsByTagName("syskey").item(0).text;
 var savecookie = root.item(0).getElementsByTagName("savecookie").item(0).text;
 if (savecookie != "") {
  savecookie = "&savecookie=" + savecookie;
 }else{
                savecookie = "&savecookie=";
        }
 if (syskey != "" && username != "") {
  iName = "&username=" + username;
  if (userpass != "") {
   iPass = "&password=" + userpass;
  }else{
                        iPass = "&password=";
                }
  var iUrls = root.item(0).getElementsByTagName("apiurl");
  for (var i=0; i<iUrls.length; i++){
   strTempHTML += "<iframe frameborder="0" width="1" height="1" src="" + iUrls.item(i).text + "?syskey=" + syskey + iName + iPass + savecookie + "" />";
  }
 }
 return strTempHTML;
}'说明:解决多个程序整合时不能同步的问题

4月12日:

'API/API_Response.asp
Select Case sPE_Items(conUserstatus,1)
    Case "0"
        tRs("Islocked") = False
        tRs("GroupID") = GroupID_ok
    Case "4"
        tRs("Islocked") = True
        tRs("GroupID") = GroupID_chk
    Case "1"
        tRs("IsLocked") = True
        tRs("GroupID") = GroupID_ok
    Case Else
        tRs("IsLocked") = True
        tRs("GroupID") = GroupID_ok
End Select '补充对锁定用户的请求的处理过程

         'User/User_GetPassword.asp
         If rsGetPassword("Answer") <> MD5(Answer, 16) Then
            '对动网加密结果的兼容处理
            MD5OLD = 0
            If rsGetPassword("Answer") <> MD5(Answer,16) Then
             
FoundErr = True
             ErrMsg = ErrMsg & "<br><li>对不起,您的答案不对!</li>"
            End If
            MD5OLD = 1

        End If
        '说明:增加对动网加密结果的兼容处理

'/User/User_ChkLogin.asp
            UserPassword = MD5(UserPassword, 16)
            Set rs = Server.CreateObject("adodb.recordset")
            sql = "select UserID,UserName,UserPassword,LastPassword,LastLoginIP,LastLoginTime,LoginTimes from PE_User where UserName='" & UserName & "'"
            rs.Open sql, Conn, 1, 3

'=================================================
                    Dim tempPassword
                    tempPassword = sPE_Items(conPassword,1)
                    MD5OLD = 0
                    tempPassword = MD5(tempPassword,16)
                    Md5OLD = 1
                    If tempPassword <> rs(2) Then
                       
FoundErr = True
                        ErrMsg = ErrMsg & "{a}密码错误!!!{b}"
                    Else
                        rs("UserPassword") = UserPassword
                    End If
'说明:增加对动网方式Md5加密的兼容

Md5.asp更换新文件

 4月17日:

'/User/User_Info.asp

    Response.Write "        <input name='UserName' type='hidden' id='UserName' value='" & UserName & "'>" & vbCrLf
    Response.Write "        <input name='Action' type='hidden' id='Action' value='SavePwd'>" & vbCrLf
    Response.Write "        <input name='Submit' type='submit' id='Submit' value=' 保 存 '>" & vbCrLf

'===================================
    If API_Enable Then
        If createXmlDom Then
            sPE_Items(conAction,1) = "update"
            sPE_Items(conUsername,1) = UserName
            sPE_Items(conPassword,1) = Password
            prepareXml True
            SendPost
            If FoundErr Then
                ErrMsg = "<li>" & ErrMsg & "</li>"
            End If
        Else
            FoundErr = True
            ErrMsg = "<li>用户服务当前不可用。 [APIError-XmlDom-Runtime]</li>"
        End If
    End If

    If FoundErr = True Then
        Exit Sub
    End If

'说明:修正在会员中心点“修改密码”进行密码修改不生效的问题。增加判断避免远程修改失败后在本地修改。

 4月18日:

'/User/User_ChkLogin.asp

If FoundErr <> True Then
    '保存用户名
    TempUserName = UserName

    If CheckUserLogined() = False Then
        If Action = "xmlstat" Then
            FoundErr = True
            ErrMsg = ""
        Else
            '恢复可能被替换的用户名
            UserName = TempUserName

            sPE_Items(conPassword,1) = UserPassword
            UserPassword = MD5(UserPassword, 16)
'解决由于缓存不能换名登陆的问题 

4月19日

'/Reg/User_RegPost.asp

                        tempAPIScripts = tempAPIScripts & "<script type=""text/javascript"" language=""JavaScript"" src=""" & arrAPIUrl(1) & "?syskey=" & sPE_Items(conSyskey,1) & "&username=" & UserName & "&password=" & Md5(sPE_Items(conPassword,1),16) & """></script>"

'解决注册成功不能自动登陆论坛和博客的问题

4月22日:

'/API/API_Response.asp

    For intIndex = 7 to 20
        If intIndex <8 Or intIndex > 10 Then
            If sPE_Items(intIndex,1) <> "" Then
                NeedContacter = True
                Exit For
            End If
        End If
    Next

'修正一个程序逻辑上的错误,解决在动网和Oblog修改用户扩展信息不能在动易同步的问题。

 

女子十二乐坊——中国的,世界的

  最近有一次去中关村的时候,在硅谷门口等老马,站得双脚发麻他还没出来,我闲得无聊,去买了一本《新周刊》看,这个杂志好贵&mdash;&mdash;十五块钱一本,买之前不知道,知道的时候已经是付款的时候了,忍痛买了一本,还好看完感觉挺有内容。

  我买的这期《新周刊》的主题策划叫“软中国”,谈的是中国的文化,把文化看作是军事、经济等硬国力之外的软国力,挺有道理的。这期“软中国”里弹到了最近风靡日本,在美国又开始大红大紫的“女子十二乐坊”。“女子十二乐坊”其实出道好几年了,在一些演出还是经常能看到的,我记得在“女子十二乐坊”之前,先看到的是陈美的小提琴,那种把高雅艺术和流行元素融为一体的风格,的确是很讨人喜欢,后来“女子十二乐坊”则更具特色,陈美的流行元素是和西方的乐器&mdash;&mdash;小提琴结合,而十二乐坊则是把中国传统民乐用现代流行音乐风格来包装。

  《茉莉花》、《大河之舞》等传统民乐,用现代化的电声乐器&mdash;&mdash;乐器还是中国的传统乐器:古筝、琵琶、二胡、笛子等,由12个人的乐队演奏出来,立刻显示出了恢宏的气势,而且经过重新编曲之后,乐曲的节奏也更明快,融入了更为丰富的合声。与克莱德曼演奏的钢琴曲、班德瑞等一样,在轻音乐界女子十二乐坊很快成为了一股新生力量。虽然在国内的名声似乎不是特别响亮,但是在日本和美国,“一打玫瑰”(美国人对女子十二乐坊的叫法)的专辑都创造了短时间内攀升到销量冠军或者名列前茅的奇迹。

  我原来曾经听过十二乐坊的《茉莉花》,印象很深,但是后来没有更多地接触,这次正好看到“软中国”专题的介绍之后,立刻想到了她们的特色和对中国传统民乐的包装,在西方和日韩文化大举侵占中国市场的今天,十二乐坊把最具中国民族特色的宫商角徵羽推向了世界,而且成为世界级的流行元素,的确是一大成功。

  期待更多、更好的将中国文化包装后推向国际市场的文化产业,我想女子十二乐坊的奇迹,充分向世人展示了这样一个道理:中国的几千年文化积淀,并不是陈旧了没有市场了,而是需要与时俱进地重新整理、包装。

  中国的二胡、笛子、葫芦丝,的的确确与萨克斯、苏古兰风笛一样,充满了韵味,是世界民族之林中的瑰宝!

  女子十二乐坊官方网站:http://www.12girls.org

第 1 页 共 3 页123»