导航


  1、关掉访问保护

  2、发布网站

  3、复制网站到服务器

  4、添加新网站

  5、设置网站访问权限

  6、设置文件夹访问权限

  7、控制可更新文件夹执行权限

  8、设置“应用程序池”.net版本与模式

  9、附加数据库

  10、添加数据库访问用户

  11、设置数据库链接

  12、部署注意事项


  对于网站的安全部署方面,大家请看我以前写的《服务器安全部署文档》里面已基本上将服务器相关的安全设置都讲到了,照着里面的操作一般的黑客是比较难攻击进来的(代码漏洞除外),而本章的部署则是是该篇设置好的基础上来创建站点的。

  1、关掉访问保护

  打开安全防护软件,关掉访问保护(由于做了策略,在服务器上未经授权无法创建dll和exe文件,不关掉的话就没办法拷贝网站的dll文件到服务器里)

  

  记得网站添加成功后重新开启访问保护

  2、发布网站

  打开解决方案,对Web项目按右键,在弹出的菜单中点击“发布”——这样生成的是Debug版部署包,如果发布到正式环境的话,可以点击“生成部署包”来发布正式版

  

  选择发布方法为文件系统,点击发布按键发布网站

  

  将红框框住的文件夹内容复制到发布成功的文件夹中(由于这些文件夹没有包含到项目中,所以发布时并没有一起发布出来——这样做是为了打开解决方案时,不用加载太多内容,而导致解决方案打开速度太慢,影响VS使用性能)

  

  这是发布后的文件夹,红色框框住的就是复制进来的文件夹

  

  

  3、复制网站到服务器

  将发布成功的文件夹复制到服务器中,并进入bin文件夹,删掉pdb文件

  

  4、添加新网站

  

  如果是在本地操作且不会修改host的话,主机名那里请不要填写,如果是在服务器上操作且你有自己的域名,请在主机名填写你自己的域名

  

  5、设置网站访问权限

  请双击“身份验证”

  

  在打开的窗口中选择“匿名身份验证”,然后点击“编辑”

  

  选择“应用程序池标识”

  

  6、设置文件夹访问权限

  对新建好的网站按右键,点击“编辑权限”

  

  选择“安全”标签,点击“编辑”

  

  然后点击添加

  

  在空白处输入应用程序池名称“IIS AppPool\www.test.com”后点确定(对于有些站点,可能还要添加Authenticated Users这个用户才能正常访问)

  

  完成应用程序池访问权限添加,在权限那里不能赋予修改权限

  

  7、控制可更新文件夹执行权限

  我们在做网站文件夹配置时,必须做到“可写入文件夹无可执行权限,可执行文件夹无写入权限”这个要求,这样才能令网站更加安全

  对于红色框框住的文件夹,虽然不都是可写入的文件夹,不过由于里面放置的都是不需要执行的文件,所以都将它们设置为无执行权限

  首先选择指定文件夹,然后双击右边的“处理程序映射”

  

  打开后点击右边的“编辑功能权限”

  

  将“脚本”前面的勾去掉

  

  然后对我们框架中需要有写入权限的两个文件夹Data和UploadFile赋予写入权限

  对文件夹按右键,点击”编辑权限“

  

  在”安全“标签中点”编辑“

  

  给刚才添加的应用程序池名称“www.test.com”赋予“修改”权限

  

  8、设置“应用程序池”.net版本与模式

  

  设置它为.net4.0+经典模式

  

  9、附加数据库

  添数据库复制到服务器

  

  打开数据库管理器,对“数据库”按右键,点击“附加”

  

  然后将数据库附加进来

  

  10、添加数据库访问用户

  打开安全性=》登陆名

  右键菜单,点击新建登录名

  

  输入登陆名、密码和选择默认数据库

  

  选择“用户映射”,对“SolutionDataBase”数据库打勾,并设置数据库角色成员身份(新建时这里经常会看到自动打勾的,实际上并没有选中,需要点击“确定”后重新打开,然后再勾上才行,这个应该是MsSql的一个Bug)

  

  11、设置数据库链接

  然后大家打开服务器新建网站的Web.config,将里面的数据库链接用户名与密码设置为刚刚创建的数据库访问用户名与密码后,打开浏览器就可以正常访问了。

  12、部署注意事项

  将《服务器安全部署文档》的一些重要粘贴过来,让大家再次重温一下注意事项

  1) 更新前一定要经过自测和测试部门人员测试通过;
  2) 修改网站任何配置都必须提前做好备份,方便出问题时回档;
  3) 修改了服务器端的任何设置都必须提交做好拷屏与记录,方便网站出现任何问题时快速的找出问题;
  4) 对服务器端的相关端口进行变动时,必须提前在Windows防火墙和McAfee防火墙提前开通对应的端口,修改好端口重启服务器或软件后,记得关闭原端口,并且做好测试工作,防止发生无法访问的情况,特别对于远程访问端口的修改必须小心,不然可能会造成无法远程登陆的情况;
  5) 当发生某功能无法运行或出错的时候,请先检查Windows防火墙、McAfee访问保护和防火墙,看看是否是给访问保护规则阻止了。
  6) 必须定期检查用户管理查看是否有多余的用户和用户隶属组是否改变;检查应用程序日志、安全日志、系统日志、IIS访问日志、网站后台管理记录的日志、网站目录中记录的操作日志与充值日志、McAfee访问保日志等,并做好备份工作;查看Windows防火墙、McAfee访问保护和防火墙是否运行中,有没有不小心关闭后忘记开启了;检查SQL的相关日志与记录增长量,检查SQL备份情况,备份空间是否足够等;(具体可查看我的另一篇文章《服务器安全检查指引——日常维护说明》)
  7) 除了做好服务器安全相关配置外,代码的安全也是非常重要的,所有提交的数据必须做好过滤操作,防SQL注入和XSS攻击,客户端定期杀毒查木马,定期修改登陆密码,以保证系统安全。

  发布最后更新的解决方案:

  更新了《数据字典》的“目录与文件说明”

  并修复了下面Bug:信息列表加条件查询不出来的问题;修复ConfigHelper类(配置读取)获取布尔类型时无法辨别true字符串问题;修复新增员工即标识为离职状态的问题。

从零开始编写自己的CSharp框架解决方案20140718.rar

 版权声明:

  本文由AllEmpty原创并发布于博客园,欢迎转载,未经本人同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如有问题,可以通过1654937@qq.com 联系我,非常感谢。

  发表本编内容,只要主为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:327360708 ,大家一起探讨。

  更多内容,敬请观注博客:http://www.cnblogs.com/EmptyFS/

从零开始编写自己的C#框架(25)——网站部署的更多相关文章

  1. 从零开始编写自己的C#框架(25)——网站部署 【转】

    服务器安全部署文档 目录1.     前言.. 3 2.     部署环境.. 3 2.1         服务器环境信息.. 3 3.     磁盘阵列配置.. 4 4.     安装操作系统.. ...

  2. 从零开始编写自己的C#框架(26)——小结

    一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...

  3. 从零开始编写自己的C#框架(1)——前言

    记得十五年前自学编程时,拿着C语言厚厚的书,想要上机都不知道要用什么编译器来执行书中的例子.十二年前在大学自学ASP时,由于身边没有一位同学和朋友学习这种语言,也只能整天混在图收馆里拼命的啃书.而再后 ...

  4. 从零开始编写自己的C#框架 ---- 系列文章

    目录: 从零开始编写自己的C#框架(1)——前言从零开始编写自己的C#框架(2)——开发前的准备工作从零开始编写自己的C#框架(3)——开发规范从零开始编写自己的C#框架(4)——文档编写说明从零开始 ...

  5. 从零开始编写自己的C#框架(20)——框架异常处理及日志记录

    最近很忙,杂事也多,所以开发本框架也是断断续续的,终于在前两天将前面设定的功能都基本完成了,剩下一些小功能遗漏的以后发现再补上.接下来的章节主要都是讲解在本框架的基础上进行开发的小巧. 本框架主要有四 ...

  6. 从零开始编写自己的C#框架(17)——Web层后端首页

    后端首页是管理员登陆后进入的第一个页面,主要是显示当前登陆用户信息.在线人数.菜单树列表.相关功能按键和系统介绍.让管理员能更方便的找到息想要的内容. 根据不同系统的需要,首页会显示不同的内容,比如显 ...

  7. 从零开始编写自己的C#框架(8)——后台管理系统功能设计

    还是老规矩先吐下槽,在规范的开发过程中,这个时候应该是编写总体设计(概要设计)的时候,不过对于中小型项目来说,过于规范的遵守软件工程,编写太多文档也会拉长进度,一般会将它与详细设计合并到一起来处理,所 ...

  8. 从零开始编写自己的C#框架(15)——Web层后端登陆功能

    对于一个后端管理系统,最重要内容之一的就是登陆页了,无论是安全验证.用户在线记录.相关日志记录.单用户或多用户使用帐号控制等,都是在这个页面进行处理的. 1.在解决方案中创建一个Web项目,并将它设置 ...

  9. 从零开始编写自己的C#框架(11)——创建解决方案

    这段时间一直在充电,拜读了园子中大神们的博文(wayfarer的<设计之道>.TerryLee的<.NET设计模式系列文章>.卡奴达摩的<设计模式>还有其他一些零散 ...

随机推荐

  1. 探索ASP.NET MVC5系列之~~~2.视图篇(上)---包含XSS防御和异步分部视图的处理

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...

  2. input[tyle="file"]样式修改及上传文件名显示

    默认的上传样式我们总觉得不太好看,根据需求总想改成和上下结构统一的风格…… 实现方法和思路: 1.在input元素外加a超链接标签 2.给a标签设置按钮样式 3.设置input[type='file' ...

  3. [原创]关于Hibernate中的级联操作以及懒加载

    Hibernate: 级联操作 一.简单的介绍 cascade和inverse (Employee – Department) Casade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似 ...

  4. linux服务器开发一 基础

    注:本文仅限交流使用,请务用于商业用途,否则后果自负! Linux 1.Linux介绍 Linux是类Unix计算机操作系统的统称. Linux操作系统的内核的名字也是“Linux”. Linux这个 ...

  5. 深入理解 Android 之 View 的绘制流程

    概述 本篇文章会从源码(基于Android 6.0)角度分析Android中View的绘制流程,侧重于对整体流程的分析,对一些难以理解的点加以重点阐述,目的是把View绘制的整个流程把握好,而对于特定 ...

  6. 对Maven、gradle、svn、spring 3.0 fragment、git的想法

    1.Maven Maven可以构建项目,采用pom方式配置主项目和其他需要引用的项目.同时可结合spring3.0的新特性web  fragment. 从现实出发,特别是对于管理不到位,程序员整体素质 ...

  7. Asp.Net跨平台:Ubuntu14.0+Mono+Jexus+Asp.Net

    Asp.Net跨平台的文章园子里有很多,这里给自己搭建的情况做一下总结,方便以后查看. 参考网站:   http://www.linuxdot.net/(Linux DotNET大本营 )  http ...

  8. 轻量级的日期插件--datebox

    jquery的日期插件有好几款,H5中的input也可以自带日期选择.但为什么要再写一个,有两个理由,一个是引用的文件太大,而有时候只需要很简单的功能,二个是想加一些自定义的效果不好改. 我写的这个功 ...

  9. .NET程序的性能要领和优化建议

    前几天在老赵的博客上看到,Bill Chiles (Roslyn 编译器的Program Manager)写了一篇文章叫做<Essential Performance Facts and .NE ...

  10. C++模板编程:如何使非通用的模板函数实现声明和定义分离

    我们在编写C++类库时,为了隐藏实现,往往只能忍痛舍弃模版的强大特性.但如果我们只需要有限的几个类型的模版实现,并且不允许用户传入其他类型时,我们就可以将实例化的代码放在cpp文件中实现了.然而,当我 ...