构建基于IIS安全、可靠的企业网维护ASP应用程序的安全.doc_第1页
构建基于IIS安全、可靠的企业网维护ASP应用程序的安全.doc_第2页
构建基于IIS安全、可靠的企业网维护ASP应用程序的安全.doc_第3页
构建基于IIS安全、可靠的企业网维护ASP应用程序的安全.doc_第4页
构建基于IIS安全、可靠的企业网维护ASP应用程序的安全.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

构建基于IIS安全、可靠的企业网维护 ASP 应用程序的安全摘 要:本文结合作者自身工作实践,讨论了采用基于Windows 2000的IIS Web服务构建安全、可靠的企业网上信息应用平台的一些方法和注意点。从操作系统、IIS服务、应用程序三个方面着重讨论了存在的安全问题和相应的对策建议,此外还对维护ASP应用程序的安全作了些肤浅的探讨。关键词: Intranet IIS(Internet Information Server)服务 网络安全 ASP(Active Server Page)随着计算机和网络通信技术的发展,Internet已经延伸到世界各个角落,在基于Internet的万维网(World Wide Web)上发布、获取信息,已经成为最广泛、有效、廉价、便捷的手段。而在我们铁路企业,覆盖部门、公司乃至全系统的企业内部网络(Intran et)的建立,也为开发基于Web的信息应用平台来服务于运输生产、服务于中心工作、提高管理水平提供了可能。开发网上信息应用在目前来说有很多种方法可以选择,可以利用JSP 、VBS、PHP、CGI等脚本语言进行简单开发,也可以在办公软件FrontPage中进行开发,复杂的有利用Java Applet、COM/DCOM结构及ActiveX组件技术等。在这所有的方案中,采用Windows 2000的IIS 5.0服务以及它所提供的Active Server Page(动态服务器页)脚本技术是一个简练而高效的选择,因为它有着与Windows操作系统结合紧密、能很方便地访问各种数据库、易学易用的特性和强大的功能,使其成了建设网上信息应用平台常被选用的方案之一。本文的题目表明了主要讨论的论题:首先是安全,构建基于Web的服务平台,具有足够的安全性是很重要的,否则也不需要什么黑客,像以前盛行的Nimda(尼姆达)病毒和今年的Blaster(冲击波)病毒完全就可以使你的服务器瘫痪,这样的应用平台绝对是不安全的,也是不成功的。因此安全是保证一切应用和功能的首要前提;基于IIS和Asp的开发非常简单,可以说学上几天就可以写一点简单的代码了,它的技术含量并不是很高,但由于ASP中所使用的Session,cookie以及提交表单为黑客截获信息提供了可能,所以怎样防止黑客截获信息,也是网络安全的重要课题。1、构建安全的服务平台平台的安全性是来自多方面的,首先是底层的操作系统,如果系统有了问题就根本无法保证在这基础上建立的其他任何内容;其次是服务,包括Web服务和数据库服务,都需要进行安全方面的设置,以保证服务的稳定运行和数据信息的安全;最后是应用程序,因为程序都是开发人员自己写的,随意性较大,出现问题的机会更多,往往一个地方考虑不周就可能导致权限被盗用、数据被窃取,因此这几个方面的综合构成了安全的基础。千万不要轻视正确配置安全设置的重要性。如果不正确配置安全设置,不但会使您的 ASP 应用程序遭受不必要的篡改,而且会妨碍正当用户访问您的 .asp 文件。Web服务器提供了各种方法来保护您的 ASP应用程序免受未授权的访问和篡改。在您读完本文之后,请花一定的时间仔细检查一下您的 Windows2000 和 Web 服务器安全性文档。1.1操作系统安全缺省安装下的Windows操作系统是一个极其脆弱的系统,如前几年Win95/98的共享密码校验漏洞导致了无数文件被泄露,因为无论你共享密码设多少位,由于系统BUG在某种情况下可以只检测第一位,使用专门的工具几秒钟就破解了。微软公司总在不停地推出服务补丁(Service Pack)来修补这些漏洞,如Windows NT从SP1一直出到SP6,Windows2000的补丁也是一个接着一个,有些漏洞对于服务器来说是致命的,它可能导致服务器瘫痪、重要数据损失或被人窃取。但如果能够充分利用系统的管理设置功能进行安全配置,并经常打补丁,Windows操作系统还是比较安全的,以下就个人经验从安装Windows 2000 Server操作系统开始对多个方面进行分析和建议。1.1.1分区和逻辑盘的分配在安装服务器之前,视硬件容量,推荐建立三个以上的逻辑分区,第一个为系统分区,建议4G,用来装操作系统和重要的日志文件;第二个为应用及数据分区,存放IIS服务目录及应用脚本程序、数据库文件以及其他重要数据;此外还需要一个专门存放上传下载文件(如运行FTP服务)的分区,这样做是为了减少文件、程序、服务的漏洞影响整个系统的可能性。另外最好再多留一个备份系统分区(Fat32,DOS下能访问)以便异常情况下可以快速恢复系统。1.1.2采用NTFS文件系统NTFS文件系统可以对文件和目录使用ACL(存取控制表),ACL可以管理共享目录的合理使用,而FAT(文件分配表)、FAT32却只能管理共享级的安全。出于安全考虑,建议至少服务器的系统分区和应用数据分区应采用NTFS文件系统,以提高系统的安全性。可以通过为单独的文件和目录应用 NTFS 访问权限来保护 ASP 应用程序文件。NTFS 权限是 Web 服务器安全性的基础,它定义了一个或一组用户访问文件和目录的不同级别。当拥有 Windows有效帐号的用户试图访问一个有权限限制的文件时,计算机将检查文件的访问控制表 (ACL)。该表定义了不同用户和用户组所被赋予的权限。如果用户的帐号具有打开文件的权限,计算机则允许该用户访问文件。例如,Web 服务器上的 Web 应用程序的所有者需要有“完全控制”的权限来查看、更改和删除应用程序的 .asp 文件。但是,访问该应用程序的公共用户应仅被授予“读取”权限,以便将其限制为只能查看而不能更改应用程序的 Web 页。1.1.3装机时不要接入网络在Win2000安装过程中当你输入Administrator密码后,系统就建立了ADMIN$(映射到操作系统安装目录)的共享,但却并没有用你刚输入的密码来保护,这个问题一直要等到你重新启动后才能解决,在此期间任何人都可以通过ADMIN$进入你的机器。此外,操作系统缺省安装后很多服务都自动运行,这时的服务器是非常容易被病毒感染或黑客入侵的。因此在完全配置好Win2000 Server之前,一定不要把主机接入网络,应该等安全配置完毕后再接入。1.1.4选择满足需求的最小服务在满足所有需求的条件下选择尽可能少的服务是保证安全的一个有效措施。典型的WEB服务只需安装IIS的功能选项中的 IIS的公用文件、Internet服务管理器和WWW服务器三个组件。其他如FrontPage 2000服务器扩展, Internet服务管理器(HTML),文件传输协议(FTP)服务器几个组件都曾出现过漏洞,虽然打了最新的补丁后暂时可以解决,但难保以后不再出现新的问题,因此最好不要安装。其他一些缺省自动运行的Windows服务如果你没用到也应尽量改为手动或者禁用,如Messenger是Windows自带的消息发送和接收程序,它可以被恶意程序利用来不断地发送消息进行攻击;Task Scheduler允许程序在指定时间运行,可以被黑客所利用来定时启动恶意程序。此外还有如DHCP Client、DNS Client等在局域网中一般也不怎么用得到,也可以关闭。终端服务Terminal Service是一个基于远程桌面协议(RDP)的工具,它的速度非常快,也很稳定,可以成为一个很好的远程管理软件,但它的3389端口在没打补丁前简直就是为黑客开的专用通道,因此即使你打了补丁,如果没有特别需求也不要开启(缺省状态下是关闭的),建议可以通过安装其他工具如PcAnyWhere来辅助管理。1.1.5保证帐号安全保护好系统中的用户名可以有效杜绝根据用户名进行的猜测密码攻击。用于提供Web公共服务的服务器建议只保留系统管理员的用户账号,废止Guest账号,移走或限制所有的其他用户账号,缺省管理员Administrator帐号也应该改名。重要的Web服务器最好不要同时再提供文件共享服务,因为用户多了普通用户权限就有可能被盗用,有经验的黑客可以利用一些溢出提升权限的漏洞进而获取管理员权限。为了方便局域网用户共享文件,Win2000的默认安装允许任何用户通过建立空连接得到系统所有账号/共享列表,但是一个远程用户也可以用它枚举出帐号并使用暴力法破解用户密码,应该通过更改注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA RestrictAnonymous的键值为1 来禁止空连接,或者把本地安全策略-本地策略-安全选项-对匿名联接的额外限制改为不允许枚举SAM帐号和共享,并启用。1.1.6使用安全密码并且禁止管理共享使用足够安全的密码对于运行在网络上的任何计算机和服务都是非常重要的,但这点却往往最容易被忽视。一些管理员创建帐号的时候常用计算机名、姓名缩写,或者一些别的很容易猜到的内容做用户名,然后又把这些帐户的密码设置为空或者非常的简单,比如1234、2003、某个英文单词、办公室电话号码甚至直接与用户名相同等等,这样的密码很容易被带词典功能的破解工具试出来(试想常用英文单词也就几万个,程序利用词典自动猜测几万次并不是很困难的事),有些网络病毒也会利用密码为空进行感染和传播。建议服务器密码至少在8位或以上,并采用大小写字母、数字、特殊符号的复杂组合,应避免“纯单词”或者“纯数字”型的密码,提高安全性。Win2000安装好以后,系统会自动创建一些隐藏的共享,如各个硬盘分区根目录、操作系统安装目录等,你可以在命令行下打 net share命令进行查看。这类共享的目的是为了方便管理员远程管理服务器上文件,只要知道系统管理员的帐号和口令就可以访问,但它在方便管理的同时也留下了一个安全隐患。使用右键直接停止这些共享是没有用的,机器重新启动后这些共享又会自动开启。可以通过在注册表键HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters 添加项AutoShareServer值为0来彻底取消这些隐藏的共享。还可以在autoexec.bat中自动运行net share /delete ipc$ 来删除IPC共享。1.1.7打好系统补丁系统补丁往往要替换或修改某些系统文件,因此应该在所有应用程序安装完之后再进行,否则新安装的应用程序可能会又把动态链接库替换回老的版本,导致补丁起不到应有的效果。在目前对于Windows 2000来说首先要运行Service Pack 2,但sp2之后又有不少漏洞被发现,所以最好能将sp3、sp4以及最新的补丁全部打上,并且要经常光顾微软的网站,看看是否有新的补丁程序。 1.1.8运行防病毒软件和网络防火墙安装防病毒软件对于服务器来说也很重要,特别是当你的服务器为用户提供上传下载服务的时候,它可以有效保证服务器上文件的安全可用。好的杀毒软件如Norton Antivirus不仅能杀掉很多常见的病毒以保护从这台服务器进行下载的客户机,还能查杀大量木马和后门程序,为了能查杀最新的病毒应注意经常定期升级病毒库。通网络防火墙技术作为内部网络与外部网络之间的第一道安全屏障,是最先受到人们重视的网络安全技术,就其产品的主流趋势而言,大多数代理服务器(也称应用网关)也集成了包滤技术,这两种技术的混合应用显然比单独使用更具有大的优势。那么我们究竟应该在哪些地方部署防火墙呢?首先,应该安装防火墙的位置是公司内部网络与外部Internet的接口处,以阻挡来自外部网络的入侵;其次,如果公司内部网络规模较大,并且设置有虚拟局域网(VLAN),则应该在各个VLAN之间设置防火墙;第三,通过公网连接的总部与各分支机构之间也应该设置防火墙。如果服务器只提供Http和Ftp公共服务,则只须保留端口80的Http和端口21的Ftp两条路由器到服务器的向内路径,阻塞所有其他的向内途径,此外还可以通过对部分IP地址进行过滤、设定访问控制列表的方法过滤对服务器的非法访问。1.1.9做好系统备份在系统实现正常运转后,首先应该对注册表进行一次备份,因为很多的问题都出在注册表被更改后,有时甚至会导致系统无法启动,如果能保留一个备份,恢复起来很快,也很方便。除此之外还应使用系统备份工具如Ghost把整个系统分区备份到另一个分区上,最好随后存放到另一台机器上或刻成光盘,以防止将来当系统被彻底破坏的时候,具备快速恢复手段。在此以后每次进行了较大的设置更改也应该尽可能进行重新备份。1.1.10做好升级、维护工作目前流行的网络病毒都是利用了IIS漏洞进行感染和传播的,由于我们的服务器只对局域网开放,没有黑客攻击而忽视了平时的安全防范,结果被病毒扫描感染并且助长了病毒的泛滥,导致网络堵塞、服务器瘫痪。因此系统管理员应经常访问微软和一些安全站点,了解漏洞状况和病毒公告,下载并安装最新的service pack和系统补丁,更新病毒库,升级病毒防护软件。管理员还应该经常注意检查安全日志、系统日志和应用程序日志,查看服务器有没有什么异常情况发生,绝大部分的异常和问题都会在日志中有所体现,经常阅读并分析日志也是保证服务器安全稳定运行的有效监测手段。如果有时间还应该检查IIS服务日志、Ftp服务日志,使用一些过滤工具对它们进行分析,了解有没有可能存在的攻击尝试。2、IIS服务安全IIS提供的Web服务由于面对着广大用户,流量和复杂度都很高,一般平均两三个月就有漏洞被发现,其中特别是IIS的默认安装留下了非常多的漏洞,不少网络病毒都是利用了这些漏洞而迅速传播,如红色代码利用了缓冲区溢出、索引服务漏洞横行一时;尼姆达也利用了IFRAMEExecCommand、Unicode漏洞广为传播。2.1更改IIS的缺省目录设置很多的IIS漏洞如Unicode都跟缺省安装时自动产生的/scripts/等虚拟目录有关,这些缺省目录及虚拟目录中有很多的例程、演示脚本文件,非常容易被利用来进行攻击,因此应该把这些虚拟目录全部删除,并直接把C盘的Inetpub目录彻底删掉,在D盘建一个XXXWeb目录,在IIS管理器中将主目录指向该目录。这样就彻底消除了放在服务器上的“定时炸弹”,而且把应用程序放在非系统分区也在一定程度上增强了系统分区的安全性。 2.2删除多余的脚本映射在IIS管理器中删除任何无用的脚本映射也是很必要的,一般大部分主机只用到ASP、ASA两种,其他映射中有很多如htw, htr, idq, ida都曾经成为攻击者的目标,目前打了最新的补丁后可能暂时安全,但难保以后不会出现新的漏洞,所以如果不用的话建议全部删除。在IIS管理器中右击主机名-属性-WWW服务编辑-主目录-配置-应用程序映射,然后就开始一个个选中删除,删完后注意在应用程序调试书签内将脚本错误消息改为发送指定的错误消息文本,以免出错时泄漏系统的设置内容,最后点击确定退出时应该让所有虚拟站点继承设定的属性。2.3设定好目录权限对于目录权限设置,总的原则是尽量设置为低级:不需要执行脚本程序的地方就不要赋予执行脚本的权限,没有绝对的需要不能赋予目录写、目录浏览或执行程序的权限,给定的权限越高系统可能出问题的地方也越多,也就越不安全。通过配置Web 服务器的权限来限制所有用户查看、运行和操作ASP 页的方式。不同于 NTFS 权限提供的控制特定用户对应用程序文件和目录的访问方式, Web 服务器权限应用于所有用户,并且不区分用户帐号的类型。对于要运行您的 ASP 应用程序的用户,在设置 Web 服务器权限时,必须遵循下列原则:对包含 .asp 文件的虚拟目录允许读取或浏览目录权限。 对 .asp 文件和其他包含脚本的文件(如 .htm 文件等)所在的虚目录允许读取和写入权限。 对包含 .asp 文件和其他需要运行权限才能运行的文件(如 .exe 和 .dll 文件等)的虚目录允许读取和运行权限。2.4自定义错误消息可以考虑自定义错误消息以减少基于脚本漏洞扫描可能带来的危害。这类程序一般都利用返回代码来判断是否存在该漏洞,如果在IIS中将HTTP404 Object Not Found出错页面通过URL重定向到一个定制HTM文件,就能使扫描漏洞的程序找不到真正的漏洞所在,保护系统安全。2.5其他一些设置通过IIS中的目录安全性设置,可以允许或禁止单个、部分IP地址、网段访问服务器,这一点在做专为内部使用的应用时很有效,可以把这些目录限定只有内部用户所在网段才能够访问,增强安全性。可以使用IIS的设置备份功能,将以上四项所做的设定全部备份下来,这样就能够在IIS设置被更改的时候随时恢复到保存时的IIS安全配置。为避免IIS出错导致服务器不响应,可以在性能中打开CPU限制,例如可以将IIS的最大CPU使用率限制在80%以下。3、ASP应用程序安全对于应用程序,由于使用的开发工具各有所好,写出来的程序的结构、风格、功能也各不相同,加上Asp脚本语言属于解释型,比较容易上手,一些没有经验的Web程序员写出来的代码虽然也能完成功能,但漏洞百出,很多地方考虑不周到,容易导致各类异常现象的发生,因此应用程序的安全性也是最需要注意的地方。3.1程序代码要严谨作为一种编程语言,写出来的代码符合规范化、标准化是很有必要的。在进行程序设计时应充分考虑运行过程中各种可能出现的异常情况,并分别进行相应的处理。例如进行权限检测时要考虑各种特殊情况,不能单依靠通过从上一页参数传入的用户名来确定权限,因为用户可能会通过伪造的递交参数来进行非法访问,应该在每一个需要访问权限的页面添加验证代码,最好是调用带有验证函数的头文件实现。还有一种情况是在一个表单递交前使用了JavaScript函数进行了检查,确认无误后转向处理页面,该处理页面理所当然地认为就不需要再次做检查而直接操作了,这种流程看来是没问题的,但如果某用户把表单拷贝回本地进行修改,去掉了检查,然后从本地向服务器递交,就有可能导致不正确的数据被按正常数据处理了。应该通过限定递交表单页面的路径来避免这类问题。3.2 Cookie 安全性ASP 使用 SessionID cookie 跟踪应用程序访问或会话期间特定的 Web 浏览器的信息。这就是说,带有相应的 cookie 的 HTTP 请求被认为是来自同一 Web 浏览器。Web 服务器可以使用 SessionID cookies 配置带有用户特定会话信息的 ASP 应用程序。例如,如果您的应用程序是一个允许用户选择和购买 CD 唱盘的联机音乐商店,就可以用 SessionID 跟踪用户漫游整个应用程序时的选择。为了防止计算机黑客猜中 SessionID cookie 并获得对合法用户的会话变量的访问,Web 服务器为每个 SessionID 指派一个随机生成号码。每当用户的 Web 浏览器返回一个 SessionID cookie 时,服务器取出 SessionID 和被赋予的数字,接着检查是否与存储在服务器上的生成号码一致。若两个号码一致,将允许用户访问会话变量。这一技术的有效性在于被赋予的数字的长度(64 位),此长度使计算机黑客猜中 SessionID 从而窃取用户的活动会话的可能性几乎为 0。但是,黑客却有可能通过截获用户的sessionID cookie来假冒该用户。如果 ASP 应用程序包含私人信息,信用卡或银行帐户号码,拥有窃取的 cookie 的计算机黑客就可以在应用程序中开始一个活动会话并获取这些信息。您可以通过对您的 Web 服务器和用户的浏览器间的通讯链路加密来防止 SessionID cookie 被截获。3.3使用身份验证机制保护被限制的 ASP 内容您可以要求每个试图访问被限制的 ASP 内容的用户必须要有有效的 Windows帐号的用户名和密码。每当用户试图访问被限制的内容时,Web 服务器将进行身份验证,即确认用户身份,以检查用户是否拥有有效的 Windows帐号。Web 服务器支持以下几种身份验证方式:基本身份验证 提示用户输入用户名和密码。 Windows NT 请求/响应式身份验证 从用户的 Web 浏览器通过加密方式获取用户身份信息。 然而,Web 服务器仅当禁止匿名访问或 Windows NT 文件系统的权限限制匿名访问时才验证用户身份。3.4使用 SSL 维护应用程序的安全Secure Sockets Layer (SSL) 3.0 协议作为 Web 服务器安全特性,提供了一种安全的虚拟透明方式来建立与用户的加密通讯连接。SSL 保证了 Web 内容的验证,并能可靠地确认访问被限制的 Web 站点的用户的身份。通过 SSL,您可以要求试图访问被限制的 ASP 应用程序的用户与您的服务器建立一个加密连接;以防用户与应用程序间交换的重要信息被截取。 3.5客户资格认证控制对ASP 应用程序访问的一种十分安全的方法是要求用户使用 客户资格登录。客户资格是包含用户身份信息的数字身份证,它的作用与传统的诸如护照或驾驶执照等身份证明相同。用户通常从委托的第三方组织获得客户资格,第三方组织在发放资格证之前确认用户的身份信息。(通常,这类组织要求姓名、地址、电话号码及所在组织名称;此类信息的详细程度随给予的身份等级而异。)每当用户试图登录到需要资格验证的应用程序时,用户的 Web 浏览器会自动向服务器发送用户资格。如果 Web 服务器的 Secure Sockets Layer (SSL) 资格映射特性配置正确,那么服务器就可以在许可用户对 ASP 应用程序访问之前对其身份进行确认。作为 ASP 应用程序开发人员,可以编写脚本来检查资格是否存在并读取资格字段。例如,可以从资格证明中访问用户名字段和公司名字段。Active Server Pages 在 Request 对象的 ClientCertificate 集合中保存资格信息。但是必须将 Web 服务器配置为接受或需要客户资格,然后才能通过 ASP 处理客户资格;否则,ClientCertificate 集合将为空。3.6创建事务性脚本事务是整体成功或失败的操作。事务处理用于对数据库进行可靠地更新。在对数据库进行许多相关更改或同时更新多个数据库时,要保证所有更改都被正确执行。如果这些更改中的任何一个失败,都需要恢复数据库表的原始状态。商业应用程序常常需要具有在事务内部运行脚本和组件的能力。事务是一种服务器操作,即使该操作包括很多步骤(例如,定货、查看存货、付帐等),也只能整体返回操作是成功还是失败。用户可以创建在事务内部运行的 ASP 脚本,如果脚本的任何一部分失败,整个事务都将会终止。ASP 事务处理是以 Microsoft Transaction Server (MTS) 为基础的。Microsoft Transaction Server (MTS) 是一个事务处理系统,用于开发、配置和管理高性能、可分级的企业 Internet 和 Intranet 服务器应用程序。Transaction Server 为开发分布式的,基于组件的应用程序提供了一个应用程序设计模型。它也为配置和管理这些应用程序提供了一个运行环境。创建事务性脚本的功能内置在 Internet Information Server 和 Personal Web Server 中。如果您安装了 Microsoft Transaction Server,就可以将组件打包,以使组件在事务内部运行。如果没有 MTS,您就需要编写脚本和组件,手工跟踪请求的更改情况,以便在某些更改失败时恢复数据。事务处理只适用于数据库访问;MTS 不能对文件系统或其他的非事务性资源的更改进行恢复操作。应用程序所访问的数据库必须为 MTS 所支持。目前,MTS 支持 SQL Server 及任何支持 XA 协议(由 X/Open 协会制定)的服务器。MTS 将继续扩展对其他数据库的支持。事务不能跨越多个 ASP 页。如果一个事务需要来自多个组件的对象,则须将使用这些对象的操作组合在一个 ASP 页中。例如,假定有一个组件用于更新工资单数据库,还有一个组件用于更新人力资源数据库中的员工记录。为了记录一个员工的新的工资信息,您需要编写这样一个脚本,该脚本在一个事务环境中调用这两个组件,一个用于更新工资单数据库,另一个用于更新人力资源数据库中的员工等级。如果事务被终止,Transaction Server 将恢复对支持事务的资源的任何更改。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论