网站安全编程 网站要如何写才安全 .net程序员的误区 asp.net安全编程

 

大家好,我是小雨   QQ:798033502

欢迎来到BadBoy 网络安全小组 

我们的网站是:www.hackbadboy.com 

网站宗旨:普及网络安全知识,推动信息技术发展。

BadBoy技术交流群:112701095

BadBoys—兄弟情谊群:118262984

BadBoy网络安全小组:13822127

====================================================

今天给大家带来的教程是《网站安全编程第一讲》

一、为什么出网站安全编程的教程?

1Web安全即网站安全,80%是由于网站程序本身存在安全隐患,才使得黑客有机可成。这就需要我们网站编程人员对网站程序进行安全优化和完善,因此学习网站安全编程便成为每个网站编程人员的必须课。

同时,对于入侵者来说,了解程序员的常规防御手段,编程思想,更是一种必要。

程序员与黑客直接的战争由此开始。

2,网站编程人员在编写网站代码时,除了由于个人的疏忽,更重要的是因为编程思想没有得到很好的转变,没有很高的安全意识,以为程序完成了功能就万事大吉,等着老板发薪水,实际上是不负责任的一种表现。而程序漏洞被黑客挖掘出来,网站被黑掉,这时候再去赶忙去修复漏洞,改写代码,只是亡羊补牢,为时已晚。数据库一旦被黑客拖库,这时候哭是没有用的。只有默哀。

http://www.51zxw.net/trans.aspx?id=22

二、完善和优化目录结构

 1,深刻理解内置文件夹的含义

 2,文件夹权限分配要得当

 3,采用非常规思维命名

 4,网站不要设置后台,或设置变态后台

 5,各文件夹下都要加上一个名为index.html 的空文件

 6,对敏感目录加上身份认证和跳转

 7,设置假后台

三、web.config 文件加密

 1,web.config文件是网站配置文件,web.config文件的安全行直接影响着整个网站的安全。我们对web.config文件中数据库连接字符串,一些其他敏感信息进行加密,也就保证了较强的安全行。

 2,示例代码:

using System;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Web.Configuration;

public partial class _Default : System.Web.UI.Page 

{

    protected void Page_Load(object sender, EventArgs e)

    {

        //获取网站根目录下面的web.config配置文件节

        Configuration config = WebConfigurationManager.OpenWebConfiguration("~/");

        //获取appSettings配置块信息

        ConfigurationSection appsettings = config.GetSection("appSettings");

        //判断配置块是否加密,如果加密则解密,否则加密

        if (appsettings.SectionInformation.IsProtected )

        {

            appsettings.SectionInformation.UnprotectSection();

        }

        else

        {

            appsettings.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");

        }

        //保存配置信息

        config.Save () ;

        Response.Write("web.config配置文件的内容<br/>") ;

        foreach (string  key in WebConfigurationManager.AppSettings.Keys )

{

 Response.Write ("键值名:"+key+"<br/>");

         Response.Write ("键值为:"+WebConfigurationManager.AppSettings[key]+"<br/><br/>") ;

}

    }

}

posted @ 2011-11-15 02:08  MXi4oyu  阅读(190)  评论(0编辑  收藏  举报