全面的安全机制

  ZCMS提供了全面的应用层安全机制,对主要的威胁网站安全的问题进行了系统的处理。ZCMS基于ZCF(泽元通用技术框架)构建,在ZCF中大部分数据库操作都是基于ORM的,没有SQL注入的可能。少部分非ORM的SQL语句也全部是基于QueryBuilder机制的,QueryBuilder要求所有的SQL条件都是基于参数的,不允许直接将字符串拼接到SQL语句中。

  ZCMS通过严格的参数检查机制,对XSS进行了周密的防范。任何传递给服务器的HTTP请求(无论是get还是post请求),请求中的参数默认只允许字母、数字、下划线等无危害字符,不允许有单引号和双引号等特殊字符,如果参数中有特殊字符,则ZCMS自动拦截请求并重定向到错误页面。如果页面确实需要接受含有特殊字符的参数,则相应的后台方法需要使用 @Verify 注解作特别声明,并在方法中检查参数是否合法或进行HTML转义存储。

  ZCMS使用了基于Flash的上传控件,在文件上传前检查了文件的扩展名,只允许扩展名在指定的扩展名列表中的文件上传到服务器。同时在服务器后台在文件保存到磁盘之前也再次检查了文件扩展名,只有扩展名被允许的文件才会写入到磁盘。

  除了防止未登录用户通过SQL注入、XSS、非法上传文件等方式破坏系统外,ZCMS还对合法登录用户的行为进行了严格的权限检查,以防止低权限用户非法越权进行高权限操作。