03.安全处理

来源:互联网 发布:php use 之后继承类 编辑:程序博客网 时间:2024/06/14 09:14

无知的人总是流传说ASP的安全性不如.net。诚然,理论上是这样的——对于同一个精通ASP和.NET的人来说。

而对于不同的人来说,.NET就没有SQL注入么……

 

写在这里:合格的程序员,应该用最简单和最适合的办法,来解决难题。

 

安全关注点

1、SQL注入——可以采用网上现有的防注入文件,自己看看代码,最喜欢哪个就是哪个吧。毕竟ASP已经过时了,该研究的都研究透了。

2、SQL注入的扩展——因为防注入文件比较严格,所以2013-04-26这样的格式,“-”是不可输入或者传输的。解决方法为replace(2013-04-26,"-","/")

3、暴库——%5C,好像是这么个东西来着,自己查一下吧。只要在数据库连接文件里面加一行就可以了。

4、用户注册:只允许管理员添加和编辑用户,不开放自由注册功能。

5、用户名和密码的过滤:我可以很无耻地限制——用户名必须是6位的,并且后5位都是数字。密码类似。

6、密码强度:MD5很好,但是现在有反向列举的方法来暴力破解,所以记得把密码MD5两次。第一次MD5——密码一定变为32位英文及数字混合了;再MD5一次——噢…不担心暴力破解了。也许可以在密码录入后,给它加点乱起八糟的字母再MD5。password=md5(md5(fuckhack&password))。噢…还需要暴力破解么……

7、记得防止网络扫描。不得不承认,很多人喜欢用生日、手机、车牌号、门牌号、固定电话……等等作为密码。如果在其他网站上扫描到这些信息,再到需要攻击的站点尝试,我估计很多人会被灭掉。毕竟很多人的用户名和密码,无论在哪个网站都是一致的。所以,无耻地强制定义用户名为6位,密码为9位,并且只能由管理员添加——管理员看到一个简单到极致的密码,可以人工干预一下。

8、权限命名。也许是我的习惯问题,我从不以纯粹的数字(比如1,2,3)作为权限等级,而是英文+数字。同理,对于数据库以及表的命名,都是不会很默认的。

9、避孕套原则。好吧,也许最高权限的管理员密码也会被人获取——程序不提供删除功能、程序不能对已经审核完毕的数据进行任何操作、程序……审核完毕的数据任何人都无权改动,管理员又怎么着。

删除、或者修改,单独制作文件,压缩打包备份——需要做这事的人,放到本机IIS运行。

conn文件不直接放置密码,保存在另外的地方(比如手机),即使电脑中毒被人copy走了文件,没服务器和数据库密码又能干什么呢。

原创粉丝点击