当前位置:
首页 / Archive: 五月 2007
动易2006版的模板管理中提供的丰富、强大的标签库,相信所有制作过动易2006模板的朋友都印象深刻。引入了动态标签和函数标签以后,技术水平不错的朋友更是利用它极大提高了动易系统的表现能力,完成了动易本身并不能完成的表现功能。
在动易2007版中,开发团队对标签管理功能进行了全面的改造,使2007版的标签管理功能得到了前所未有的强化。
总体来说,动易2007版的标签功能特点可以概述为:高度自由、可编程、无封装、标准化、高容错、多数据源。下面具体来谈:
完全开放的标签库:动易2007版不再像2006版一样封装提供丰富的标签库,而是把整个标签功能完全开发,不管是官方提供的标签、还是网友提供的标签,都是可以修改、删除的。用一种直观的方式来说明的话,那就好比是有一个文章调用标签,提供了10个参数,但是你觉得这10个参数有的多余,而你需要的功能可能还不能实现。在2006中只能通过另一个标签来解决,在2007中则可以根据自己的需要对标签进行完全的修改来解决。没有封装在组件中的标签,网友当然可以随意修改。
xslt动易扩展引擎:2007版标签的关键技术是经过动易扩展的xslt引擎。保证了输出的网页代码对W3C新标准的支持。书写标签的时候采用xslt语法。相比2006版的html标签,你可以完全地使用xslt支持的一切编程元素,使原来需要通过编写插件才能实现的很多功能现在只需要标签+模板就可以实现。而且在xslt语法的基础上,动易开发团队又进行了扩展,提供了可以在xslt中使用的动易专有方法。比如在xslt中并不支持中文字数的计算,而动易系统扩展后的xslt引擎就可以。此外动易扩展xslt引擎还有强大的日期处理、字符处理、编码功能等许多强大的方法可供使用。
高度容错性:当然,功能的强大也意味着学习的难度,有的网友可能会开始担心标签出错导致网页崩溃的情况了。实际上不存在这个问题。首先是学习用来制作动易标签的xslt不等于要精通xslt,等到测试版出来以后大家就知道了。而且,为了保证网站的稳定运行,动易采取了双保险来避免标签中的语法错误造成页面崩溃:第一、标签保存时进行语法校验;第二、任何一个或多个标签、模板的错误捕获处理,不会造成整个页面或者系统的错误。
拖拽式编辑界面:和2006一样,动易2007的标签编辑界面和模板编辑界面是一致的。包括代码输入区域、快捷工具区域。只要把需要用到的代码段、函数、功能、变量……从快捷工具区拖到你需要插入的位置,系统就会自动生成对应的代码。

丰富的数据源:动易2007版的标签中,最显著的变化包括数据源的增加。在2006版中,动态标签和函数标签只支持从系统数据库读取数据,而在2007版中,标签的数据源除了系统数据库外,还可以从外部的任意SQL数据库、ACCESS数据库、XML文档、Excel文档、OLE数据源、ODBC数据源、Oracle数据源、中读取数据用于标签,这就意味着动易系统将支持外挂包括DB2/SYBASE/MYSQL等所有可以在Windows系统中使用的数据库。大大方便了用户制作自己的插件以及集成其他程序数据。

超强标签级分页功能:动易2007版的标签模块还增强了分页功能,同一个页面中调用的所有标签都可以进行分页,除了主分页会导致整个页面刷新外,单个标签的分页通过Ajax技术实现。这就意味着每个栏目下的新文章调用都可以单独进行分页,在节约页面空间的同时,还增加了页面上的信息调用数量。在标签中增加分页功能,只需要编辑标签时“启用分页”并提供一个调用总数的查询方法,然后在模板中为该标签添加一个分页样式即可。

标签级权限和生命时间控制:动易2007版允许在标签这一级进行权限控制,从而对同一个页面中的不同部分分配不同的权限;同样,在标签级分配生命周期可以实现同一个页面不同部分按照不同的缓存级别更新数据。
直观的调用参数:相信很多网友在制作模板时或多或少都遇到过一边做模板一边查参数对应含义的麻烦(尤其是在离线编辑和代码编辑时)。在2007版中,动易采用了类似于HTML标签属性(更准确地说是xml元素属性)的格式,让每一个参数的意义非常直观,在编辑代码时即可根据参数名称准确识别该参数对应的数据。比如,在动易2006版中这样的一个标签:
在2007版中对应的表示方法则为:
而每个参数的名称又是网友自己定义的,所以在调用时自然会得心应手。
动易2007版的标签和模板功能关系比以前的版本更为密切。标签在2007版中已经成为了界面表现的关键。那么,动易2007版的模板管理功能又有什么令人惊喜的变化呢?请大家继续关注动易2007快报之模板篇,在模板篇中,将为大家揭开动易X-Power引擎的神秘面纱。
随着各种病毒、木马、后门和攻击手段的层出不穷,网站的安全问题也越来越成为一个令站长和管理员们头疼的问题。这使得站长们越来越重视系统的安全系数。而网站系统的开发人员们,也同样越来越重视程序的安全性。
动易公司从一开始就高度重视系统的安全性,在程序的开发中,有大量的时间投入和性能投入都是涉及网站安全的。在2007版中,开发团队更是充分利用。NET平台的新特性,采用了大量的新技术来保障网站安全。这次我们就简单介绍一下2007版在安全性方面所做的努力。
原来2006版所采用的各种安全保障措施,经过实践得到验证的手段在2007版中全部得到了保留继承:
- 用户密码等关键数据采用MD5不可逆加密后保存;
- 后台启用验证码和认证码;
- 后台Admin目录可以更改目录名;
- 禁止直接访问和外部链接到后台页面;
- Access数据库防下载功能;
- 对上传文件类型进行检查,并删除黑名单中列出类型的文件;
- 对非HTML的表单进行编码后再存入数据库;
- 对SQL查询语句中的查询参数进行过滤。
这些手段,经过长期实践验证,确实能够有效提高网站的安全性,因此在2007版中全部得到了保留和改进。网友可能会对MD5加密和验证码的作用提出质疑,因为“2004年MD5算法已经被中国科学家破译”、“开启了验证码后,网站仍然出现批量注册的用户和大量重复信息、广告信息”等等。
在这里我们稍加说明:
MD5加密算法在数据加密领域得到广泛应用,是一种有效的保存关键信息的有效手段。2004年,中国科学家“破译”了MD5算法,但这并不意味着你拿到一个经过MD5算法加密后的字符串后,能够逆向得到加密前的字符串。而我们采用MD5保存用户密码等数据信息,目的只是在于当数据库被别人得到后,不能得到用户的原始密码。至于破解,即使在MD5算法没有被“破译”的时候,一旦得到了加密结果,理论上通过暴力破解等手段,也同样能够得出密码。因此采用MD5加密存储关键信息,在网站管理系统中,仍然是一个有效的安全手段。图像验证码功能已经被广泛应用于网站的注册、登录、信息发表等需要防止暴力破解的地方。而且也确实是一个有效的防暴力破解手段(防垃圾信息和重复信息,依靠验证码是不可能彻底杜绝的)。动易首创的后台登录认证码手段,在确保服务器安全的前提下,彻底断绝了通过盗取管理员密码进入后台的途径。和其它安全措施相结合,能够非常有效地保护网站后台的权限不被非法利用。
除了从2006版保留继承的安全措施以外,2007版又针对安全问题做了非常多的工作,基于。NET的动易2007版,安全性比2006版有了极大的提高。
微软的ASP.NET 2.0平台和SQL Server 2005针对安全威胁,提供了大量的新特性。而动易2007版充分利用了这些新特性,为提高网站的安全系数,采用了大量的手段和措施:
- 采用多层结构,避免表现层直接与数据层交互,有效提高后端数据的安全;
- 使用类型安全的SQL参数化查询方式,从根本上解决SQL注入的问题;
- 利用验证控件,加强表单的客户端验证;
- 利用ASP.NET的HttpModule,从整体上限制直接访问和外部链接并判断是否登录,避免遗漏;
- URL参数类型、数量、范围限制功能,解决恶意用户通过地址栏恶意攻击的问题;
- 全站和管理后台的IP访问限定功能,以实现权限和访问的最小化原则;
- 网站的配置信息保存在Site.config文件,。config文件是默认拒绝访问的文件类型,以避免配置信息泄密;
- 对程序集进行混淆加密,避免恶意用户通过反射利用代码漏洞进行攻击;
- 利用web.config中配置的自定义错误页和全局的异常处理,屏蔽异常出现时暴露的敏感信息;
- 对连接字符串进行加密,在配置信息泄密后保护数据库连接的敏感信息。
有兴趣的网友可以通过搜索上面列表中的关键词来了解更多相关的信息。我们这里就只做一下简单的介绍:首先是多层结构开发,这个在以往的快报中已经介绍过了。为什么采用多层结构能够提高安全性呢?简单来说,网站的访问者在访问网站时,仅仅是与表现层交互,而表现层的界面呈现,是由业务逻辑层来完成,业务逻辑层和数据层之间,使用各种实体来进行数据的交流。只有数据层才直接对数据库进行操作。通过表现层提交的各种表单,首先要经过动易系统的过滤,成为业务层可用的参数。而这些参数又要转换成各个实体的属性,数据层还要将这些实体和属性转换成查询参数后,才用与数据查询。这样就最大程度地防止了SQL注入类的攻击(。NET环境下的各种编程语言都要求强类型变量,也就意味者像整数型的查询参数,如果传送一个非整数型的参数,是绝对不能通过的)。而在动易2007的数据层,完全采用带有参数的结构化查询,从根本上解决了SQL注入问题。
其次,ASP.NET的表单处理方式,在服务器端编程绝大部分时候采用的是读取服务器控件属性而非GET方式提交的表单值(提取过程是由。NET来转换实现),使得伪造表单数据攻击比ASP环境下要困难得多。动易2007在ASP.NET自身提供的强大验证控件的基础上加以继承和发展,开发出了更多、更强大的验证控件。可以在客户端、服务器端对表单提交的数据合法性进行更严格的验证。
另外,除了禁止直接输入地址访问关键页面外,动易2007还对URL参数的类型、范围等做出了严格限制和过滤,更基于ASP.NET的HttpModule,整体限制对指定范围内的路径进行直接访问和外部链接,有效防范跨站脚本攻击。结合超前强大的权限分配和IP限制,站长完全可以确保非指定人员绝对不能越权访问后台相关功能。
除了这些以外,动易2007开发团队还在继续研究和实践更多的安全措施。最终的发布版本将会更加安全:
- 尚未最后完成的增强版日志记录。详细跟踪记录用户操作异常和部分系统异常,让站长和安全人员能通过日志分析系统可能存在的漏洞和bug,有针对性地进行防范和完善。
- 开发团队仍在继续努力,虽然对跨站脚本攻击,采取了一些措施进行限制,但还未从根本上解决,动易开发团队的目标是力争彻底解决。
- 计划利用密码强度限制,排除存在弱密码的可能性。很多时候网站的密码被盗取,往往是由于密码不够复杂,容易被暴力破解造成的。除了在防暴力破解方面采取措施外,设置强密码才是关键。动易2007开发团队计划在密码强度限制方面为站长提供更安全的限制手段。
- 开发团队正在研究使用SSL来加密数据传输;SSL加密是很多安全性要求高的网站(例如网上银行、在线交易等)广泛采用的手段。一旦普通网站能够得到该技术支持,针对高级入侵和数据伪造、数据挟持等手段的安全系数也会得到极大提升。
这次的快报,我们用很大的篇幅来介绍了动易2007版在安全方面所做的改进,安全防范是一个复杂的、涉及面极广的负责工程,所以快报中的介绍也只能是简单概述,但是可以明确的是:动易2007版绝对是一个在安全方面空前强大的系统。也证明了动易公司和动易开发团队对于网站安全的重视程度和所做出的不懈努力。
上一期快报中我们提到了可以通过“工作流”来让我们的网站更加专业。实现投稿或者商品处理的实时状态反馈。那么究竟什么是工作流呢?它到底能有哪些用处?在这次的快报中,我们就一起来看看动易2007版全新的工作流管理模块。
对于一直沉浸于网站建设管理、模板制作的朋友来说,可能会有和我一样的疑问:什么是工作流?
根据 WfMC 的定义,工作流(Work Flow)就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。
在动易2006版中,我们的信息发布,有“草稿”、“待审核”、“已审核”、“已生成”等状态,而后又加入了三级审核制度,这些其实也是工作流的一种简单应用。一篇文章在网上上发表,如果按照一个完整的流程,它是需要经历草稿编辑、正式投稿、重重审核、生成发布这样一个流程的,而一篇稿件在这个流程过程中所经历的整个过程就叫做工作流。
但是2006版中,第一流程不可定制、第二仅限于制定的这些过程。但是到了2007版中,首次出现了“流程管理”和“状态代码管理”两个菜单。“工作流”的应用遍及网站管理的方方面面。
在快报中,我们举两个实际应用的例子来加以说明:
案例一:稿件处理流程(榕树下)
有“全球原创中文网”之称的“榕树下”文学网,很早就实现了稿件处理的流程化。当你在榕树下进行投稿时,你在你的后台随时可以查看到你的每一篇稿件当前的处理状态。比如“待处理”、“编辑审阅中”、“已审阅”、“已发表”、“已退稿”等。
那么,在动易2007版如何实现呢?首先,我们需要建立相应的用户组——用户(投稿者)、编辑(审阅者)、管理员(发布者),然后创建相应的稿件状态码(待处理、审阅中、已审阅、已退稿、已发布)。然后,我们创建一个名为”稿件处理流程”的工作流程。然后给这个流程添加如下步骤:“投稿”,可操作用户组为用户,稿件状态码为待处理;“审阅”,可操作用户组为编辑,稿件状态码为审阅中、已审阅和已退稿;“发布”,可操作用户组为管理员,稿件状态码为“已发布”。
这样,当用户投稿后,稿件将自动变为“待处理”,然后出现在编辑可见的列表中,当编辑打开一篇稿件,即可设置“审阅中”状态,编辑审阅完成后,根据情况使其通过或退稿。通过的文章将出现在管理员可见的列表中,待管理员进行生成操作后,文章状态自动变为“已发布”。
案例二:订单处理流程(互动出版社)
以计算机图书和管理类图书而闻名的网上书店——互动出版社,其纸版订单的处理分为“待处理”、“配货中”、“已发货”等流程。每个流程会通过email、手机短信等途径通知用户,或者发送短信、打电话直接查询订单信息。
在动易2007中,我们只要创建几个用户组,例如信息组、采购组、物流组这样几个组,然后创建待处理、配货中、已配货、发货中、已发货等几个状态码。然后创建“订单处理流程”,设置每个步骤中可操作的用户组、经过该步骤处理订单状态发生的变化等。就可以完全实现和互动出版社一样的工作流程。
上述两个案例,只是为了说明在动易2007中如何实现工作流程管理。在实际的操作中,根据您的单位、企业的实际情况,你可以设定更复杂、或者更简单的,完全符合您的实际需求的工作流程。比如工作人员请假的流程、提交申请报告的审批流程等。

在以往的版本中,商城其实可以算是一个比较尴尬的模块,为什么呢?因为商城不像文章系统、下载系统,根据功能的不同有上少许的差异,但其实本质上几乎都是一样的。但是商城涉及的东西要多得多。不同的商品,需要的数据结构、前台界面、购买流程等都有很大差异。而动易系统作为一个通用型产品,其商城必然要兼顾到各种情况,所以在后台光添加商品就有三个独立的界面——实物商品、软件商品、虚拟卡商品。即使这样,仍然不能满足用户们的需求。
在2007版中,得益于全新概念的“内容模型”,使得创建一个适合自己的经营方向、商品类型的网上商城更具可行性。而且作为单一经营的用户来说,也不再需要自己的数据库和后台界面中有过多为兼容其它类商品而预留的字段、表单项目了。
一、内容模型+节点给商城带来的优势
在动易2007版中,商城只不过是一种特殊的内容模型。你可以为不同类别的商品各自创建一个内容模型,而且你的商城的分类甚至也可以融入到你的资讯频道或者下载频道。举个简单的例子,你的网站创建了一个“娱乐”节点(可以类别为2006版的频道),在该节点下面,你可以分别创建“娱乐快报”、“明星写真”、“原声大碟”这样的三个子节点(可以类比为2006版的栏目),那么,你的商品可能有的是明星的写真集,而有的是原版CD或者DVD之类,也可能是某些纪念品。
如果在2006版中,你可能会在文章频道发表一篇关于某个写真集的特别介绍,在图片频道发表该写真集中的一部分图片,而在下载频道提供某张专辑中的几首歌曲。最后在商城中提供相关的写真集或者CD。可以想象这时候你的网站里就会有四个频道下都要创建一个同名的栏目。聪明的网友会通过自定义字段功能,各个频道对应栏目下的信息都多一个字段来记录商品的ID,然后发布信息的时候填写上对应商品的ID来生成链接——这可以算是2006版的高级技巧了。
而在2007版中,你没有必要再去创建那么多的同名但不同类型的栏目了。你只需要创建一个栏目,然后在该栏目下发布你的介绍、图片、下载、商品。只要为它们选择不同类型的内容模型即可。用户在看其中任何一个的时候,通过“关键字”或“标签”功能,“相关内容”就会自动列举出来让感兴趣的访问者点击。这就大大方便了管理人员的操作,同时又节约了数据库存储空间。同时又增强了网站内相关内容的耦合度。
二、高度可定制的商城内容模型
刚才我们提出了一种让商品相关咨询整合的方法,其实,在动易2007版中,商城的可定制性可能超乎你的想象。
我们已经一再提及,动易2007版中所有属于内容管理的功能模块都源自内容模型。而商城只不过是一种相对特殊的内容模型。那么,借助内容模型的高度个性化支持,你就可以为你的特殊需要,定制出一个融咨询、下载、购买、展示于一体的商城功能模块出来。你是卖书的,那么你可以为把你的商城模型定义得像一个文章频道,除了基本的商品销售外,还有“章节试读”、“相关书评”等等一系列的内容,在具备ISBN编号等信息的情况下,又不需要保留“尺码”、“软件大小”这类的字段。另一个例子,如果你是销售CD的,那么你的商城可以定义得像一个视听频道,这样你卖的CD商品下面可以有部分歌曲的试听、可以有歌手的新闻发布会视频等,而不需要“性能参数”、“测评报告”之类的字段。
总而言之,类似于2006版的“自定义字段”功能而又远远超越自定义字段功能,你有什么样的需要、有多好的创意,你就能“开发”出最适合你的商城——是的,这已经远远超越了“模板设计”了,你的的确确是在“开发”。只不过,你不需要专业的编程开发技能罢了。
三、改进的支付接口。
在2006版中网友们一个呼声很高的就是关于支付接口的问题。动易2006版提供了丰富的接口支持,但是你只能选择一个来使用。但是在2007版中,你可以根据自己网站的情况同时提供所有你接受的支付接口。只需要将支付接口的信息添加到你的网站,你的用户就可以在所有这些支付接口中自由选择。“在线支付接口”的可定制加上“支付方式”的自定义,让你的网站可以拥有所有的支付方式。

四、增强的常规管理功能
在商城的管理功能方面,动易2007除了“商品管理”、“订单管理”等常规功能得到增强和改进外,又增加了“购物车管理”、“明细管理”等管理统计和分析方面的功能,帮助我们的站长、店长们更加轻松自如地做好销售和管理。
五、利用工作流,实时反馈订单处理情况
在一些较好的网上商城,或者在某些物流公司的网站上,我们可以查询自己的订单的当前处理状态,“配货中”、“已发货”、……
在2007版,利用新的“工作流”功能,我们的站长也可以为自己的网站的投稿处理、商品订单处理等实现实时处理状态反馈。这是一个全新的,令人激动地功能模块。这是动易公司让动易用户可以轻松拥有最专业的网站平台的一个具体体现。关于这部分,请大家继续关注下次的《动易2007快报——工作流》。