项目内部验收规范

 

项目内部验收规范

 

1.        数据

1.1.  数据库表

1.1.1.    所有数据表主键检查

1.1.2.    表内数据唯一性检查,

1.1.3.    数据库能够建立外键要建立外键,外键不得设置成为关联删除

1.1.4.    序列是否初始值设置有误,导致出现数据重复

1.2.  表数据正确性检查

1.2.1.    特定表字段不存在错误数值(null值,成绩等数字字段存在文本值)

1.3.  数据完整性

1.3.1.    在同一页面进行多个数据操作时,必须保证事务处理方式

 

2.        程序

2.1.  老平台MyResultSet 是否全部被正确关闭,注意程序逻辑中会不会出现没关闭程序就结束的情况

2.2.  注意javascript是在脚本程序执行完成后返回客户端才进行执行,主要与脚本程序之间的调用关系(特别是history.back()的使用)

2.3.  程序命名注意大小写敏感

2.4.  数据校验可以采用ajax

2.5.  在同一页面进行多个数据操作时,必须保证事务处理方式

2.6.  中文传get法方式参数必须进行url编解码,另外包括特殊符号(&r等)处理

2.7.  程序文件编码格式要统一,采用utf-8

2.8.  所有jsp程序(除了页面明确需要缓存的页面)需要添加防止proxy缓存的页面。

2.9.  whatyeditor的插入附件、图片等目录应为相对路径、同时注意焦点聚焦问题

 

3.        权限

3.1.  用户密码设置MD5加密

3.2.  权限页面添加权限检查过滤器

3.2.1.    总站,分站,后台管理员,学生,老师等相关角色

3.3.  特定目录禁止执行jsp,xtp等程序权限(incoming,courseware等)

3.4.  禁止目录浏览

3.5.  权限编号准确

3.5.1.    后台权限ID清晰,管理员页面权限编号准确

3.6.  模拟登陆问题处理

3.6.1.    模拟登陆session对象名称相同造成模拟登陆后管理员姓名变化。

3.7.  特定页面和程序设置IP访问权限或者时间访问权限

3.8.  课件访问权限(filter的添加)

 

4.        日志

4.1.  关键数据处理确保有日志记录

4.1.1.    全部管理员对数据的增删改有日志记录,需记录操作人,操作内容,操作时间

4.2.  日志记录方式可靠准确

4.2.1.    采用log4j方式进行日志记录,确保日志记录文件清晰可查,文件设置要可分解。

4.2.2.    日志备份完全(异地备份)

 

5.        数据备份

5.1.  确保数据库与平台配置了自动备份脚本

5.1.1.    自动备份数据库脚本,自动备份web中的incoming,courseware,excel等中的文件和脚本

5.2.  确保自动备份内容能够正确恢复。

5.2.1.    确保备份内容异地存储,并确认备份内容能够正确恢复

 

6.        服务器配置

6.1.  Web服务器

6.1.1.    Apache是否设置了禁止目录浏览

6.1.2.    Resin配置中是否根据客户服务器,进行了使用内存的配置

6.1.3.    Resin配置中是否更改了数据库链接池的配置

6.1.4.    Apache和Resin配置中是否对log文件配置了定期拆分和备份(异地)

6.1.5.    Resin是否设置了禁止目录浏览

6.1.6.    Apache限制多线程下载

6.1.7.    Resin、Apache正确配置mime-type

6.2.  数据库服务器

6.2.1.    是否限制访问权限,普通用户不能设为DBA管理权限

6.2.2.    数据库密码必须每个用户设置成为不同的密码

6.2.3.    Oracle配置中正确配置了最大连接数,open_cursor、使用内存等相关参数

6.2.4.    表空间和临时表空间是否设置为相关用户

6.2.5.    数据库访问用户权限是否严格限制

6.3.  服务器其它相关检查

6.3.1.    采用SSS等扫描工具进行扫描,确保操作系统和网络不出现漏洞

6.3.2.    对服务器关键服务、CPU使用率进行监控,保证能够及时通知相关管理人员

6.3.3.    对存储空间进行监控和及时报警,防止存储空间出现溢出

6.3.4.    对apache,resin,oracle的错误日志(error.log等)进行定期检查,分析错误内容并进行记录

 


 

内部验收检查单

检查条目

是否通过

备注

1.        数据(检查完毕

 

 

1.1. 数据库表

 

 

1.1.1.   所有数据表主键检查

 

 

1.1.2.   表内数据唯一性检查,

 

 

1.1.3.   数据库能够建立外键要建立外键,外键不得设置成为关联删除

 

 

1.1.4. 序列是否初始值设置有误,导致出现数据重复

 

 

1.2. 表数据正确性检查

 

 

1.2.1.   特定表字段不存在错误数值(null值,成绩等数字字段存在文本值)

 

 

1.3. 数据完整性

 

 

1.3.1.   在同一页面进行多个数据操作时,必须保证事务处理方式

 

 

2.        程序

 

 

2.1. 老平台MyResultSet 是否全部被正确关闭,注意程序逻辑中会不会出现没关闭程序就结束的情况

 

 

2.2. 注意javascript是在脚本程序执行完成后返回客户端才进行执行,主要与脚本程序之间的调用关系(特别是history.back()的使用)

 

 

2.3. 程序命名注意大小写敏感

 

 

2.4. 数据校验可以采用ajax

 

 

2.5. 在同一页面进行多个数据操作时,必须保证事务处理方式

 

 

2.6. 中文传get法方式参数必须进行url编解码

 

 

2.7. 程序文件编码格式要统一,采用utf-8

 

 

2.8.  所有jsp程序(除了页面明确需要缓存的页面)需要添加防止proxy缓存的页面。

 

 

2.9.  whatyeditor的插入附件、图片等目录应为相对路径、同时注意焦点聚焦问题

 

 

3.        权限

 

 

3.1. 用户密码设置MD5加密

 

 

3.2. 权限页面添加权限检查过滤器

 

 

3.2.1.   总站,分站,后台管理员,学生,老师等相关角色

 

 

3.3. 特定目录禁止执行jsp,xtp等程序权限(incoming,courseware等)

 

 

3.4. 禁止目录浏览

 

 

3.5. 权限编号准确

 

 

3.5.1.   后台权限ID清晰,管理员页面权限编号准确

 

 

3.6. 模拟登陆问题处理

 

 

3.6.1.   模拟登陆session对象名称相同造成模拟登陆后管理员姓名变化。

 

 

3.7. 特定页面和程序设置IP访问权限或者时间访问权限

 

 

3.8. 课件访问权限(filter的添加)

 

 

4.        日志

 

 

4.1. 关键数据处理确保有日志记录

 

 

4.1.1.   全部管理员对数据的增删改有日志记录,需记录操作人,操作内容,操作时间

 

 

4.2. 日志记录方式可靠准确

 

 

4.2.1.   采用log4j方式进行日志记录,确保日志记录文件清晰可查。

 

 

4.2.2.   日志备份完全(异地备份)

 

 

5.        数据备份

 

 

5.1. 确保数据库与平台配置了自动备份脚本

 

 

5.1.1.   自动备份数据库脚本,自动备份web中的incoming,courseware中的文件和脚本

 

 

5.2. 确保自动备份内容能够正确恢复。

 

 

5.2.1.   确保备份内容异地存储,并确认备份内容能够正确恢复

 

 

6.        服务器配置

 

 

6.1. Web服务器

 

 

6.1.1.   Apache是否设置了禁止目录浏览

 

 

6.1.2.   Resin配置中是否根据客户服务器,进行了使用内存的配置

 

 

6.1.3.   Resin配置中是否更改了数据库链接池的配置

 

 

6.1.4.   Apache和Resin配置中是否对log文件配置了定期拆分和备份(异地)

 

 

6.1.5.   Resin是否设置了禁止目录浏览

 

 

6.1.6.   Apache限制多线程下载

 

 

6.1.7. Resin、Apache正确配置mime-type

 

 

6.2. 数据库服务器

 

 

6.2.1.   是否限制访问权限,普通用户不能设为DBA管理权限

 

 

6.2.2.   数据库密码必须每个用户设置成为不同的密码

 

 

6.2.3.   Oracle配置中正确配置了最大连接数,open_cursor、使用内存等相关参数

 

 

6.2.4.   表空间和临时表空间是否设置为相关用户

 

 

6.2.5.   数据库访问用户权限是否严格限制

 

 

6.3. 服务器其它相关检查

 

 

6.3.1.   采用SSS等扫描工具进行扫描,确保操作系统和网络不出现漏洞

 

 

6.3.2.   对服务器关键服务、CPU使用率进行监控,保证能够及时通知相关管理人员

 

 

6.3.3.对存储空间进行监控和及时报警,防止存储空间出现溢出

 

 

6.3.4.对error.log进行定期检查,分析错误内容并进行记录

 

 

结论:

 

 

 

 

 

 

 

 

审核人:

审核时间:


 

技术方案

检查条目

详细方案

其他说明

1.        数据

 

 

1.1. 数据库表

 

 

1.1.1.   所有数据表主键检查

一个表只能有一个主键,一个主键可以是一列也可以是多列,可以通过图形界面(PLSQL_Developer)直接为表建立主键(primary Key),SQL语句为: alter table 表名  add constraint 主键名 primary key (对应列);

 

1.1.2.   表内数据唯一性检查,

唯一性约束(unique),可以保证该列或者几列中的数据不会重复,可以通过图形界面(PLSQL_Developer)直接为表建立唯一性约束,SQL语句为:alter table 表名  add constraint 唯一性约束名 unique (对应列);

 

1.1.3.   数据库能够建立外键要建立外键,外键不得设置成为关联删除

外键可以保证数据的一致性,不至于出现冗余数据,注意外键应该与其他表的主键所在列或者建立唯一性约束的列关联,可以通过图形界面(PLSQL_Developer)直接为表建立外键,但是on delete 不得选择Cascade,SQL语句为:alter table 表名  add constraint  外键名 foreign key (外键所在列)  references 关联表 (关联列);

 

1.1.4. 序列是否初始值设置有误,导致出现数据重复

利用select 序列名.currval  from dual查看当前序列值与需要该序列的列中的最大值比较,序列的当前值必须大于该列的最大值

 

1.2. 表数据正确性检查

 

 

1.2.1.   特定表字段不存在错误数值(null值,成绩等数字字段存在文本值)

通过查询语句查看

Select count(*) from 表 where 特定列 is null or 特定列=trim(‘null’)

Select to_number(列名) from 表 出现无效数字提示

 

1.3. 数据完整性

 

 

1.3.1.   在同一页面进行多个数据操作时,必须保证事务处理方式

可以使用dbpool中的executeUpdateBatch(sqlGroup)方法,最好是使用spring等框架提供的事务处理方案

 

2.        程序

 

 

2.1. 老平台MyResultSet 是否全部被正确关闭,注意程序逻辑中会不会出现没关闭程序就结束的情况

通过ultraedit查询定义rs的程序,检查是否存在work.close(rs)语句,特别注意在work.close(rs)不能出现分支程序导致程序return

 

2.2. 注意javascript是在脚本程序执行完成后返回客户端才进行执行,主要与脚本程序之间的调用关系(特别是history.back()的使用)

对于通过javascript进行的页面跳转,注意javascript脚本是服务器运行完jsp脚本后返回客户端之后才执行的。

 

2.3. 程序命名注意大小写敏感

对于linux系统中,文件间的跳转是区分大小写的,而开发所在的windows是不区分大小写的,因此建议所有jsp文件都用小写。

 

2.4. 数据校验可以采用ajax

每个输入页面都要进行有效的数据校验,建议采用ajax对正确性进行检验

 

2.5. 在同一页面进行多个数据操作时,必须保证事务处理方式

可以使用dbpool中的executeUpdateBatch(sqlGroup)方法,最好是使用spring等框架提供的事务处理方案

 

2.6. 中文传get法方式参数必须进行url编解码

在linux系统中,get方法传递的中文可能出现乱码问题,必须采用java.net.URLEncoder.encode()进行扰码和java.net.URLDecoder.decode() 解码

 

2.7. 程序文件编码格式要统一,采用utf-8

检查eclipse中的属性,同时应该有相关的工具可以检测

 

2.8.  所有jsp程序(除了页面明确需要缓存的页面)需要添加防止proxy缓存的页面。

         response.setHeader("Pragma","No-cache");//HTTP 1.1

         response.setHeader("Cache-Control","no-cache");//HTTP 1.0

         response.setHeader("Expires","0");//防止被proxy

 

2.9.  whatyeditor的插入附件、图片等目录应为相对路径、同时注意焦点聚焦问题

相对路径

检查调用whatyeditor页面是否增加以下代码

document.info_news_add.body.value=Absolute2Relative(document.info_news_add.body.value);//替换绝对路径

焦点聚焦

检查whatyeditor目录下enrichText.js文件insertText(mark)方法

function insertText(Mark){

         var strHTML;

        

         if (bIsIE5) selectRange();

         //if (RangeType == "Text")

         {

                   strHTML = Mark;

                   //textEdit.document.select();

                   //edit = textEdit.document.selection.createRange();

                   if (textEdit.document.selection.type=="Control")

                   {

                            var myobj;

                            alert("光标停留位置为一个对象,将被取代。");

                            //+textEdit.document.selection.innerHTML);

                            myobj = textEdit.document.selection.createRange();

                            //edit(1).outerHTML

                            myobj(0).outerHTML=strHTML;

                            //edit.pasteHTML(strHTML);

                            //edit.insertAdjacentHTML("afterEnd",strHTML);

                            //eb._editor.frames.textEdit.document.selection.

                   };

                   else{

          

           edit = textEdit.document.selection;

                  

                   if (edit!=null)   

                   {

                            var rng = edit.createRange();

                            if (rng!=null)

        rng.pasteHTML(strHTML);

                   }

                   else

                            {

                   edit =       textEdit.document.body;

                   edit.innerHTML=     edit.innerHTML + strHTML;

                   }

                  

                   textEdit.focus();

                   edit.select();

          

                   }

                   // edit: textEdit.document.selection.createRange()

         }                

}

 

3.        权限

 

 

3.1. 用户密码设置MD5加密

设置MD5加密,学生、老师和管理员的密码不可查询,只可以重置(李科)

 

3.2. 权限页面添加权限检查过滤器

 

 

3.2.1.   总站,分站,后台管理员,学生,老师等相关角色

以管理员为例,首先撰写Filter类

package com.whaty.filter;

 

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import com.whaty.dls.UserInfo;

 

public class ManagerWebPageAccessFilter implements Filter {

         public void destroy() {

         }

         public void doFilter(ServletRequest req, ServletResponse res,

                            FilterChain chain) throws IOException, ServletException {

                   HttpServletRequest request = (HttpServletRequest) req;

                   HttpServletResponse response = (HttpServletResponse) res;                

                   HttpSession session = request.getSession();

                   //获取当前用户的session

                   UserInfo userInfo = (UserInfo) session.getAttribute("managerInfo");

                   //如果用户已经登录,进一步判断其身份

                   if (userInfo != null) {

                            //用户的类别,共有isManager,isStudent,isTeacher

                            String level = userInfo.getLevel();

                            //用户的站点属性,1代表总站管理员

                            String siteId = userInfo.getSite();

                            //如果当前用户已经登录,但不是以总站管理员身份登录

                            if (!"isManager".equalsIgnoreCase(level) || !"1".equalsIgnoreCase(siteId)) {

                                     response.sendError(403, "You haven't logon as Manager!");

                                     return;

                            } else {

                                     chain.doFilter(request, response);

                            }

                   } else {//用户没有登录

                            response.sendError(403, "You haven't logon!");

                            return;

                   }

         }

         public void init(FilterConfig arg0) throws ServletException {

                   // TODO Auto-generated method stub

         }

}

然后配置web.xml文件,增加Filter

<filter>

       <filter-name>ManagerWebPageAccessFilter</filter-name>

    <filter-class>com.whaty.filter.ManagerWebPageAccessFilter</filter-class>

    </filter> 

    <filter-mapping>

       <filter-name>ManagerWebPageAccessFilter</filter-name>

       <url-pattern>/work/manager/*.jsp</url-pattern>

    </filter-mapping>

注意:如果一个Filter需要过滤多种的情况下,不同的resin版本配置方法不太一样。
Resin 2.x,需要针对每种情况添加一个filter-mapping;Resin 3.x可以在一个filter-mapping下添加多个url-pattern。另外在Resin 3.x版本中,可以配置过滤的访问类型,总共有四种类型,分别如下:

        <dispatcher>INCLUDE</dispatcher>

       <dispatcher>FORWARD</dispatcher> 

       <dispatcher>ERROR</dispatcher>

       <dispatcher>REQUEST</dispatcher>

 

3.3. 特定目录禁止执行jsp,xtp等程序权限(incoming,courseware等)

首先撰写Filter类

package com.whaty.filter;

 

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.HttpServletResponse;

 

public class FileLimitFilter implements Filter {

    public void destroy() {

       // TODO Auto-generated method stub

    }

    public void doFilter(ServletRequest req, ServletResponse res,

        FilterChain chain) throws IOException, ServletException {

        HttpServletResponse response = (HttpServletResponse) res;

        response.sendError(403);

         return;

            }

    public void init(FilterConfig arg0) throws ServletException {

       // TODO Auto-generated method stub

    }

}

在web.xml中加入

<filter>

       <filter-name>FileLimitFilter</filter-name>

       <filter-class>com.whaty.filter.FileLimitFilter</filter-class>

    </filter>

    <filter-mapping>

       <filter-name>FileLimitFilter</filter-name>

       <url-pattern>/incoming/*.jsp</url-pattern>

    </filter-mapping>

    <filter-mapping>

       <filter-name>FileLimitFilter</filter-name>

       <url-pattern>/incoming/*.xtp</url-pattern>

    </filter-mapping>

配置方法同3.2.1

 

3.4. 禁止目录浏览

在web.xml中增加<directory-servlet>none</directory-servlet>

Resin的目录访问禁止方法,resin 2.x 和resin 3.x的配置方法不同

◇Resin 2.x的配置方法:

在resin.conf文件中在配置的每个web-app后增加一个属性directory-servlet=’none’,例如<web-app id='/' directory-servlet='none'>

◇Resin 3.x的配置方法:

resin.conf中
<servlet servlet-name="directory"
         servlet-class="com.caucho.servlets.DirectoryServlet"/>

注释掉就可以了

 

 

 

3.5. 权限编号准确

 

 

3.5.1.   后台权限ID清晰,管理员页面权限编号准确

 

 

3.6. 模拟登陆问题处理

 

 

3.6.1.   模拟登陆session对象名称相同造成模拟登陆后管理员姓名变化。

 

 

3.7. 特定页面和程序设置IP访问权限或者时间访问权限

可以通过request.getRemoteAddr()方法获得远程访问者的IP

 

3.8. 课件访问权限(filter的添加)

针对apache和IIS、resin写相关的filter(陈健)

 

4.        日志

 

 

4.1. 关键数据处理确保有日志记录

 

 

4.1.1.   全部管理员对数据的增删改有日志记录,需记录操作人,操作内容,操作时间

 

 

4.2. 日志记录方式可靠准确

对log4j.properties 文件根据用户实际情况进行重新配置

 

4.2.1.   采用log4j方式进行日志记录,确保日志记录文件清晰可查。

log4j.appender.A1=org.apache.log4j.RollingFileAppender

log4j.appender.A1.File=F:/logs/teachers_operation.log

log4j.appender.A1.MaxFileSize=5120KB

log4j.appender.A1.MaxBackupIndex=1000

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %l : %m%n

 

4.2.2.   日志备份完全(异地备份)

自动备份脚本,注意备份策略,同5.1.1

客户没有提供异地备份条件

5.        数据备份

 

 

5.1. 确保数据库与平台配置了自动备份脚本

 

 

5.1.1.   自动备份数据库脚本,自动备份web中的incoming,courseware中的文件和脚本

备份:

Linux:

使用oracle 用户

脚本程序exp.sh:(需要设定可执行权限)

cd /home/oracle

exptime=$(date +%Y-%m-%d)

workname1=dbdx

exp $workname1/z9z7w7w8 GRANTS=Y file=$workname1"_"$exptime.dmp owner=$workname1

使用crontab –e   来进行定时备份设置

例如:0 20 * * 1,4 su - oracle /home/oracle/exp1.sh

Windows:

脚本:朱高建,张宏光

使用任务计划进行执行。

 

 

 

5.2. 确保自动备份内容能够正确恢复。

Exp,imp;  冷备份 rman等(汪强(一个月))

 

 

5.2.1.   确保备份内容异地存储,并确认备份内容能够正确恢复

异地备份:

张宏光(windows),

 

Linux:

ftp备份命令

ftp -in<put.ftp

put.ftp内容如下:

open 192.168.0.10 2121

user  ftp用户名 ftp密码

bin

lcd /home/oracle/backup

put whatysmsgw_*.dmp

bye

 

 

6.        服务器配置

 

 

6.1. Web服务器

 

 

6.1.1.   Apache是否设置了禁止目录浏览

Apache的目录访问禁止方法

找到Apache 的 httpd.conf 配置文件将:
Options Indexes FollowSymLinks 改为:
Options FollowSymLinks 也就是把 Indexes 去掉

 

6.1.2.   Resin配置中是否根据客户服务器,进行了使用内存的配置

Linux:

linux:修改 wrapper.pl

    $JAVA_ARGS="-Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Djava.awt.headless=true";

Windows:

windows下可以采用在配置服务的时候加入参数的方法或在启动是加上-Xmx等参数进行配置,

windows下可以通过httpd.exe -Xmn100M -Xms500M -Xmx500M -install 配置成为系统服务,httpd.exe -remove 可以卸载此服务

 

6.1.3.   Resin配置中是否更改了数据库链接池的配置,还有thread的连接数等

<database>

           <jndi-name>jdbc/jforum</jndi-name>

           <driver type="org.gjt.mm.mysql.Driver">

             <url>jdbc:mysql://localhost:3306/jforum</url>

             <user>jforum</user>

             <password>jforum</password>

            </driver>

            <prepared-statement-cache-size>8</prepared-statement-cache-size>

            <max-connections>20</max-connections>

            <max-idle-time>30s</max-idle-time>

 </database>

 

6.1.4.   Apache和Resin配置中是否对log文件配置了定期拆分和备份(异地)

Linux

apache:

    CustomLog "|/www/bin/rotatelogs  /www/logs/access_log 86400 100M" combined

    ErrorLog "|/www/bin/rotatelogs  /www/logs/error_log  100M"

 

resin

  <log name="" level="all" path="stdout:" timestamp="[%H:%M:%S.%s] "/>
  <stdout-log path='/usr/local/resin-3.0.21/log/stdout.log' archive-format="stdout-%Y_%m_%d.log"  rollover-size='10mb'/>
  <stderr-log path='/usr/local/resin-3.0.21/log/stderr.log' archive-format="stderr-%Y_%m_%d.log"  rollover-size='10mb'/>

Windows

apache日志拆分

CustomLog "|C:/Apache2/bin/rotatelogs.exe C:/Apache2/logs/access.log 10M" common

ErrorLog "|C:/Apache2/bin/rotatelogs.exe C:/Apache2/logs/error.log 10M"

 

resin日志拆分

<access-log id='logs/access.log'

          format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'

          archive-format="access-%Y_%m_%d.log"

          rollover-period='1D'/>

<error-log id='logs/error.log'

                                sarchive-format="error-%Y_%m_%d.log"

                                rollover-period='3D'/>

 

异地备份请参考5.2.1

对Log文件拆分已添加

6.1.5.   Resin是否设置了禁止目录浏览

在web.xml中增加<directory-servlet>none</directory-servlet>

Resin的目录访问禁止方法,resin 2.x 和resin 3.x的配置方法不同

◇Resin 2.x的配置方法:

在resin.conf文件中在配置的每个web-app后增加一个属性directory-servlet=’none’,例如<web-app id='/' directory-servlet='none'>

◇Resin 3.x的配置方法:

resin.conf中
<servlet servlet-name="directory"
         servlet-class="com.caucho.servlets.DirectoryServlet"/>

注释掉就可以了

 

 

6.1.6.   Apache限制多线程下载

(朱高建)

 

6.1.7 Resin、Apache正确配置mime-type

(李科)

 

6.2. 数据库服务器

 

 

6.2.1.   是否限制访问权限,普通用户不能设为DBA管理权限

李科

 

6.2.2.   数据库密码必须每个用户设置成为不同的密码

李科

 

6.2.3.   Oracle配置中正确配置了最大连接数,open_cursor、使用内存等相关参数

open_cursors= 1500 (建议1500)

java_pool_size= 2124632064*5%=106231603(内存5%)

large_pool_size=2124632064*2.5% =53115801  (内存的2.5%)

shared_pool_size=  2124632064*10%=212463206(内存的10%)

processes= 1000 (建议600以上)

pga_aggregate_target=106231603(内存的5%)

sort_area_size=1024*1024*10=10485760 (建议10MB)

 

6.2.4.   表空间和临时表空间是否设置为相关用户

李科

 

6.2.5.   数据库访问用户权限是否严格限制

李科

 

6.3. 服务器其它相关检查

 

 

6.3.1.   采用SSS等扫描工具进行扫描,确保操作系统和网络不出现漏洞

根据SSS出报告,汪强

 

6.3.2.   对服务器关键服务、CPU使用率进行监控,保证能够及时通知相关管理人员

陈健

 

6.3.3.对存储空间进行监控和及时报警,防止存储空间出现溢出

陈健

 

6.3.4.对error.log进行定期检查,分析错误内容并进行记录

形成相关日志分析报告,报质量部

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值