• 网站安全编程 网站要如何写才安全 .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/>") ;

    }

        }

    }

  • 相关阅读:
    JS中数组的排序
    JS中输入身份证号码,subString截取出生日,并判断性别
    JS中for循环输出三角形
    JS中for循环实现s=x^y。
    JS中用for实现n的阶乘
    JS实现:for循环输出1000以内水仙花数
    JS中用if..else 查询成绩
    JS——do...while循环输出斐波拉契数前20项
    JS中while循环 ,二分法,产生随机数,计算机猜几次能猜中
    2018年5月9日JAVA-servlet01
  • 原文地址:https://www.cnblogs.com/secbook/p/2654929.html
Copyright © 2020-2023  润新知