起因
公司10年前给一事业单位使用asp.net 搭建了网站。最近事业单位上云,要求将公司之前做的网站也上云,但是在上云的安全检测中扫描出了100多个漏洞。。云中心要求解决这些漏洞后才能上云,但是由于公司离职人员过于频繁,管理漏洞大,网站的源代码已经找不到了。客户要求1周内必须解决问题。
分析
看了云中心提供的测试报告由于老网站使用asp.net web from 的方式,所以页面大量的 ViewState 。被标记为有风险要求加密还有一些问题必须通过修改源代码 。但是源代码不存在啊。。也不要好跟客户要钱了,毕竟自己软件的问题。现在需要一个最低成本解决问题的方案。还要解决所有的问题。
很明显啊CMS大法好啊,之前用过很多 ASP 和 PHP 的CMS,但是公司的人主要是用.NET 做开发了,所以还是选择了 .Net 的 SitServer CMS
,感觉功能还可以主要能满足我这个项目的需求(PS,和那些PHP的CMS比功能还有差距)。
动起来
SiteServer CMS
学习
SiteServer CMS
的 文档中心 还是不错了,从软件的安装部署 到标签语言的使用、插件的使用等等都算比较全面。但是,缺少一个从零教学的文章,零基础的用户很难通过文档把网站做起来。还好我不是零基础。
网站搭建
简单看了看文档以后,就做起来了,做的时候还算比较顺利,基本上没遇到什么问题。SiteServer CMS
模板中心有好多模板参考,做不出来了就参考官方的模板,用了2天时间把网站 搭建起来。
数据迁移
之前网站用了10年,新闻数量巨大。刚开始我还一篇一篇的从老网站复制内容到新网站,复制了大概100多篇以后。我发现老网站的一个栏目居然有200多条新闻,我录入100条用了半天时间,这两百条得要了我的老命啊。
采集
咋办呢,自己写程序抓网页迁移数据太麻烦,坚持拿来主义的原则,用第三方软件,火车头采集器。简单了解了火车头的采集过程和设置后就开动了。采集的过程中遇到一个问题,之前网站的分页使用的 aspnetpager 的 POST 提交,所以不太好采集。百度了一些文章以后,还是不会。使用了一个笨办法,把列表中的每一页另存到本地,命名按照页面的分页序号命名。从本地 IIS 搭建网站,将另存为的页面文件夹配置为网站文件夹。采集软件的采集地址也切换到本地 IIS ,采集过程顺利完成。
数据迁移
使用的采集软件是免费版本的不支持 SqlServer 的数据库发布。分析后发现 火车头使用的是 Sqllite 数据库。从网上下载了 SqlLiteManager 将数据存储成了 SQL脚本。将脚本在 SqlServer 中执行。然后使用 insert into select 语句将数据导入到新闻内容表中。由于客户的新闻中图片和附件较少,所以新闻中的图片和附件我也就没在处理了。
复检
网站搭建完毕后让云中心的人进行了复检,云中心的人发现没有问题。要求将后台的账号密码提供给他们,他们要扫描后台。不得不说 SiteServer 做的还是不错的,顺利通过了云中心的审查,并且云中心要求的强密码策略,系统也是默认支持的。这里给 SiteServer 点个赞。最终顺利通过了云中心的检测,网站可以顺利上线。
总结
此次事件从开始到结束一共经历了7天时间,从刚开始的浇头烂额到最终拨云见日,回头想想其实并么有什么复杂的。技术人员不能给自己设限,这个完不成,根本不可能这些话尽量不要说,还是要多思考,多百度。我们经历的问题很多人都经历过。乐观面对工作,996燥起来。