文档章节

网站的安全防范

徐自勉
 徐自勉
发布于 2017/02/14 15:30
字数 798
阅读 24
收藏 0

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

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

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

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

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


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

© 著作权归作者所有

共有 人打赏支持
徐自勉
粉丝 2
博文 25
码字总数 34997
作品 0
武汉
程序员
多个高危新型Web漏洞现身主流社交网站

新华网天津4月2日电(记者张建新)国家计算机网络入侵防范中心近日在国内外多家主流社交网站及应用中发现了多个Web新型漏洞。对漏洞的分析表明,社交网站的安全隐私问题将不再局限于其自身,...

随影求是
2012/04/03
1K
12
3.15热话题:电商网银系统如何打击假冒钓鱼网站,提高在线信任!

  一年一度的3.15国际消费者权益日即将到来,产品质量、售后服务、虚假宣传等消费者权益保护问题再次成为社会关注焦点。然而,在互联网高速发展的今天,人们大部分消费行为都已经转移到互联...

sslor
2016/03/14
48
0
《网络黑白》一书所抄袭的文章列表

这本书实在是垃圾,一是因为它的互联网上的文章拼凑而成的,二是因为拼凑水平太差,连表述都一模一样,还抄得前言不搭后语,三是因为内容全都是大量的科普,不涉及技术也没有干货。所以大家也...

wizardforcel0
07/02
0
0
中小企业防御网络攻击的 6 种方法

网络安全是当前一个非常热门的话题,网络泄密、系统瘫痪、斯诺登事件......都在不断挑战所有人互联网人的神经。大家都在担忧自己的隐私会不会被泄露出去,公司的敏感信息怎么来保护。当然,这...

OneAPM蓝海讯通
2015/12/18
25
0
CSDN 就网站被黑案告破发表声明

3月21日消息,针对CSDN网站被黑告破一案,CSDN今日发表声明称,CSDN在此再次承诺吸取相关教训,落实国家关于网络信息安全等级保护管理的有关规定,加大网络安全的监管与防范力度,并与业界加...

随影求是
2012/03/21
3.7K
23

没有更多内容

加载失败,请刷新页面

加载更多

ajax 提交返回map集合 获取不到值

后台java代码 @RequestMapping("/cameraList") @ResponseBody public Map<String, Object> cameraListForPage(@RequestParam(defaultValue = "1", value = "page") Integer page......

S三少S
7分钟前
0
0
TypeScrip最污的技术课-技术胖TypeScript图文视频教程

近日Node.js之父瑞安达尔(Ryan Dahl)发布新的开源项目 deno,从官方介绍来看,可以认为它是下一代 Node,使用 rust 语言代替 C++ 重新编写跨平台底层内核驱动,上层仍然使用 V8 引擎,最终...

JamesView
9分钟前
5
0
Es学习笔记

1.过滤排重聚合查询 筛选出某一个聚合值的个数统计。相当于mysql的distinct. 关键字:cardinality "aggs": { "2":{ "cardinality": { "field": "field" } ...

Gmupload
11分钟前
0
0
h5语义化标签

语义化HTML:用最恰当的HTML元素标签做恰当的事情。 优点: 提升可访问性; SEO; 结构清晰,利于维护; 通用容器:div——块级通用容器;span——短语内容无语义容器。 <title></title>:简...

莫西摩西
17分钟前
0
0
修改11g rac中 asm diskstring的发现路径

问题 : 如果我 们asm_disking以前是/dev/oracleasm/disks/* ,并且现在已经有磁盘组再用这个磁盘串了,那么,我们无法直接修改这个发现串为 ORCL:*,修改会报错,提示存在的磁盘无法使用新的...

tututu_jiang
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部