在ASP.NET编程中的十种安全措施

一、 MD5 加密用户密码
本系统用户密码采用MD5加密,这是一种安全性非常高的加密算法,是普遍使用广泛应用于文件验证,银行密码加密等领域,由于这种加密的不可逆性,在使用10位以上字母加数字组成的随机密码时,几乎没有破解的可能性。
 
二、 COOKIES加密
保存COOKIES时,对保存于COOKIES中的数据采用了以MD5加密为基础,加入随机加密因子的改进型专用加密算法。由于使用的不是标准MD5加密,因此COOKIES中保存的数据不可能被解密。因此,黑客试图用伪造COOKIES攻击系统变得完全不可能,系统用户资料变得非常安全。
 
三、 SQL注入防护
系统在防SQL注入方面,设置了四道安全防护:
第一、 系统级SQL防注入检测,系统会遍历检测所有用GET、POST、COOKIES提交到服务器上的数据,如发现有可能用于构造可注入SQL的异常代码,系统将终止程序运行,并记录日志。这一道安全防护加在连接数据库之前,能在连接数据库前挡处几乎所有的SQL注入和危害网站安全的数据提交。
第二、 程序级安全仿SQL注入系统,在应用程序中,在构建SQL查询语句前,系统将对由外部获取数据,并带入组装为SQL的变量进行安全性验证,过滤可能构成注入的字符。
第三、 禁止外部提交表单,系统禁止从本域名之外的其它域名提交表单,防止从外部跳转传输攻击性代码。
第四、数据库操作使用存储过程 系统所有的重要数据操作,均使用存储过程完成,避免组装SQL字符串,令即使通过了层层SQL注入过滤的攻击性字符仍然无法发挥作用。
 
四、 木马和病毒防护
针对可能的木马和病毒问题,系统认为,在服务器设置安全的情况下,外部带来的安全问题,主要是用户可能上传病毒和木马,作了如下四层的防护
第一、 客户端文件检测,在上传之前,对准备上传的文件进行检测,如果发现不是服务器设置的允许上传的文件类型,系统拒绝进行上传。如果客户端屏蔽了检测语句,则上传程序同时被屏蔽,系统无法上传任何文件。
第二、 服务器端文件安全性检测,对上传到服务器的文件,程序在将文件写入磁盘前,检测文件的类型,如发现是可能构成服务器安全问题的文件类型,即所有可以在服务器上执行的程序,系统都拒绝写入磁盘。以此保证不被上传可能在服务器上传播的病毒和木马程序。
第三、对有权限的服务器,系统采用即上传即压缩策略,所有上传的除图片文件、视频文件外,其它各种类型的文件一但上传,立即压缩为RAR,因此,即使包含木马也无法运行。不能对网站安全带来威胁。
第四、底层的文件类型检测系统对文件类型作了底层级检测,由于不仅检测扩展名,而是对文件的实际类型进行检测,所以无法通过改扩展名方式逃过安全性验证。
 
五、 权限控制系统
系统设置了严格有效的权限控制系统,何人可以发信息,何人能删除信息等权限设置系统一共有数十项详细设置,并且网站不同栏目可以设置完全不同的权限,所有权限均在多个层次上严格控制权限。
 
六、IP记录
IP地址库 除记录所有重要操作的IP外,还记录了IP所在地区,系统中内置约了17万条IP特征记录。
详细的IP记录所有的创建记录、编辑记录行为(如发文章,发评论,发站内信等),均记录此操作发生的IP,IP所在地区,操作时间,以便日后备查。在发现安全问题时,这些数据会非常关键和必要。
 
七、隐藏的程序入口
有全站生成静态页 系统可以全站生成HTML静态文件,使网站的执行程序不暴露在WEB服务中,HTML页不和服务器端程序交互,黑客很难对HTML页进行攻击,很难找到攻击目标。
 
八、有限的写文件
系统所有的写文件操作只发生于一个UPFILE目录,而此目录下的文件均为只需读写即可,可通过WINDOWS安全性设置,设置此目录下的文件只读写,不执行,而程序所在的其它文件夹只要执行和读权限,从而使破坏性文件无法破坏所有程序执行文件,保证这些文件不被修改。
 
九、作了MD5校验的订单数据
在商城订单处理中,对提交的订单信息作了MD5校验,从而保证数据不被非法修改。
 
十、编译执行的代码
由于基于.net开发,代码编译执行,不但更快,也更安全
我用这些办法,作的网站程序叫网站快车,大家去看看,是不是安全。

本文出自 “匆匆过客” 博客,谢绝转载!

你可能感兴趣的:(权限,服务器,网站,it,文件类型)