网站的安全防范

一次群里讨论,朋友问我你会黑掉一个网站吗?
我下意识的说,不会。
后来我想了想,我其实会一点。因为我想到了曾经写过的一个网站被攻击过,那名黑客明显没用到什么了不起技术,只是我的程序
写得太烂了。
于是,我反思了我在公司中所做过的项目,我所暴露的问题,有以下三点,至少以我的浅显水平是可以做到的,我觉得几乎所有的
程序员都能做到,如果做不到,那这三点就很容易被攻击。
另外强调一点,如果不被攻击,那么只是你被攻击的价值而已。

我只说表单提交这方面的,这是和程序员写程序严不严谨最直接关联的,什么xss基本都是从表单的入口这边来的。

1.表单提交的数据,前端要做验证,不经验证的数据都是不可信的,前端用js过滤掉不安全,不规范的信息是最基础的一道门槛,
不过滤,就很有可能被懂些代码的人,提交一些诸如 " or 1==1"之类或者js脚本

2.服务端对提交的数据进行验证,很多引用可能做了前端验证,但是后端验证。。。以前在外包公司项目都是随便弄弄的,,但这
个确实不靠谱,服务端怎么就能相信数据是安全合法的呢?有可能对方不是从你的原本页面提交的,比如把你的表单页面攥改,删
掉验证代码,就能很简单提交不合法的数据。

3.服务端对传入数据进行验证过滤,就能保证安全性吗?如果写个简单的小程序,用webclient循环提交合法的数据,一小时提交
个上百万条数据,小点的网站服务器也许就撑不住挂了。会有这么鬼畜的黑客么?一般是没人闲的,但是架不住这个攻击太好实现
了,懂点程序的人都能做得到。我个人想到的方案是客户每次访问表单页面时,都在表单中放入临时生成一个标识,该标识也会被
写入session中,提交时候服务端验证这个标识,标识不对,不入库,用过立即抹掉标识,同时最好再对每个访问的ip做个限制,
防止太多的重复访问一个表单页面。


以我的浅薄经验,所知道的暂时就只有这些。应用程序的安全防范要做到什么程度,百分之百不信任任何传入的数据,所有数据一
视同仁的检查,貌似又不太符合成本效率;反之,所有数据都不验证,百分之百信任,这也是绝对不行的,至少必要的安全防范还
是要做的。
   

转载于:https://my.oschina.net/xuzimian/blog/838482

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值