转自:http://www.freebuf.com/articles/web/163786.html

一   简介

通过本篇文章,您可以了解一个web安全从业人员所具备的大致知识面,同时我也制定了一个循序渐进的学习计划,用以帮您找准自己的定位,并可以自己制定适合自己的学习计划。

二   关键词

以不求甚解的方式去看书,基于兴趣选择优先学习点,培养一个星期看完一本书的能力。

三  塔形的知识面

在我看来,人类的知识都是具有阶梯式、层级式的特点,如果不了解下层的知识面,那么对于上层知识面的学习将会止于皮毛、浮于表面。对于web安全来说,我认为有5大块知识面是必须要掌握的,其层次关系如下图:

最下层的是os(操作系统)与db(数据库)。中间层是web,也是最重要的贯通上下的知识面。最上层的是安全攻防的知识和系统开发的知识,二者是纠缠在一起的上升螺旋。

四  我建议的学习计划

虽然知识面是层级式的,但是对于我们的学习来说,不应该抱有先把下层的知识学会、再学上层的知识。我推荐的学习态度是不求甚解。因为现今是知识大爆炸的时代,你不必为了一个问题而死转牛角尖,这会降低学习效率。正确的做法是快速获取主要的知识,然后进入下一阶段的学习,那些未明白的地方,总会在未来的某个时刻或触类旁通、或回头重学,到了那时,你对这些问题的掌握程度,将是异常的深刻。

基于这种快速学习的方法,我给您的学习计划是这样的:

每个阶段所包含的学习内容和时间安排如下:

序号 阶段 花费时间 学习内容
1 os基础知识 4天 os基础操作,os文件系统,os权限系统,os用户管理,常用系统命令
2 web基础知识 2天 http协议,html&js&asp&php&jsp基础知识
3 安全攻防基础知识 7天 常见安全漏洞的典型利用,常用安全工具使用方法
4 db基础知识 1天 常见数据库简介(oracle、mysql、sqlite),常用sql语句
5 安全攻防进阶1 7天 渗透测试方法论,安全漏洞深入分析
6 web深入学习 15天 https协议,搭建个人web服务器,深入学习html&php&js
7 os深入学习 & db深入学习 15天 程序进程线程,网络通信与端口,linux & 深入学习oracle
8 系统开发基础知识 15天 学习python
9 安全攻防进阶2 15天+ 大量的安全实战,编写poc,学习安全工具的插件及高级利用
10 系统开发进阶1 15天+ 学习java 基础知识,java web开发
11 安全攻防进阶3 保持学习 根据自己的爱好,深入某个领域
12 系统开发进阶2 保持学习 根据安全攻防的需要进行学习
合计   96天+  

五 兴趣是学习的起点

从上面的计划可以看出,对于枯燥无味的理论知识,刚开始只安排了2-3天的常识学习,马上就是动手操作性比较强的安全攻防基础,这可以极大的激起您学习的兴趣。这也是我推崇的学习方式,基于兴趣。当您对常见漏洞的利用方法了然于胸、并不断使用的时候,您肯定会产生很多疑惑,这时候再回过头去学习下层的理论知识,您会产生恍然大悟的畅快感,如同遮天的乌云忽然间就烟消云散了。

六 不要小瞧您的学习能力

常听人说看一本书看了半年还没看完,一看到厚厚的书本就产生畏惧。其实您低估了不求甚解的学习效率,一个星期绝对可以看完一本书的。重要的是集中注意力,不要死转牛角尖,不要以为某个知识点没有明白就会错过了,我明确的告诉您,以后您还会再遇到那个知识点的,而那个时候稍加一想就会了。

七 自我定位与制定学习计划

拿出纸和笔,把您自己已经会的知识画成一个个的圈,然后选择和您已有知识关联最大的知识面去优先学习,因为让零散的知识点尽量融合成一个整体是最有效率的。然后挑出您最感兴趣的知识面去次优先学习,最后参考我给您的计划,制定您个人的学习计划。并将其打印出来,然后按部就班的学习吧。

自我定位与制定学习计划相关推荐

  1. 为HTML5的未来制定学习计划

    作者:Justin James 2011年6月27日, 3:09 PM PDT 摘要: Justin James列出了程序员需要掌握的核心技术,以便跟上游戏规则的颠覆者HTML5的步伐. 利用web技 ...

  2. python自学规划_如果自学Python应该如何制定学习计划

    机器学习是我的主要研究方向之一,而Python目前在机器学习领域有广泛的应用,所以我来探讨一下这个问题. 随着大数据和人工智能的发展,目前Python语言的上升趋势比较明显,而且由于Python语言简 ...

  3. 计算机本科如何制定学习计划,给自己安排上

    写在前边:本文适合刚入学的大一新生,或者大二学生,如果想做计算机这一行,如果没有方向,可以看看这篇文章.当然了,对于更优秀的人,如果看到了,希望能给我更好的建议,目前我是大三下. 欢迎交流沟通:qq ...

  4. 如何制定学习计划 - 褪墨

    导读: 本文转自 http://www.mifengtd.cn/articles/how-to-plan-for-study.html

  5. 如何制定个人学习计划?

    学习其实也是一门艺术,她的美在于和谐,在于一种内在的平衡.正确处理学习与休息.娱乐.体育锻炼的关系,能提高学习效率,做到事半功倍:反之,就会觉得时间捉襟见肘,事倍而功半.解决.处理各方面关系的一个好方 ...

  6. 计算机专业的短期计划范文,制定计算机学习计划范文3篇

    学习计划是学习内容.学习时间及学习方法等诸方面因素的有机融合,通常具有致力于发展学习过程中的薄弱环节.巩固学习优势等功用.本文是秋天网 Qiutian.ZqNF.Com小编为大家整理的制定计算机学习计 ...

  7. 高三学习计划作文计算机专业,制定计算机学习计划范文3篇

    学习计划是学习内容.学习时间及学习方法等诸方面因素的有机融合,通常具有致力于发展学习过程中的薄弱环节.巩固学习优势等功用.本文是学习啦小编为大家整理的制定计算机学习计划的范文,仅供参考. 制定计算机学 ...

  8. 计算机应用 行动计划范文,制定计算机学习计划范文

    制定计算机学习计划范文 制定计算机学习计划范文1 制定学习计划,可以有效的利用时间,避免出现快考试了才发现"该念的书都没有念"的尴尬局面.且有利于学习习惯的形成,使自己的学习生活节 ...

  9. Android WebView简要介绍和学习计划

    我们通常会在App的UI中嵌入WebView,用来实现某些功能的动态更新.在4.4版本之前,Android WebView基于WebKit实现.不过,在4.4版本之后,Android WebView就 ...

最新文章

  1. Python工具 | 4个好用的开源 Python 下载器
  2. python 创建netcdf_python读取与处理netcdf数据方式
  3. 面试常问的29个linux命令
  4. python 指定证书验证_如何在python中验证SSL证书?
  5. matlab数学建模可应用到第几章,《MATLAB在数学建模中的应用(第2版)》
  6. GOF之结构型模式Ⅱ(重点)
  7. 开发中遇到的Cause: java.sql.SQLException: connection holder is null的异常
  8. hdu 1542 Atlantis (线段树+扫描线)
  9. 【报告分享】90后人群消费趋势研究报告.pdf
  10. Shell 脚本自动Telnet 并执行远端机器的脚本
  11. oracle subset-superset pairs,Oracle 字符集
  12. In the beginning, the world was void and without form…
  13. 面试题之SpringMVC整体工作流程
  14. php城市 省份,怎么获取省份和城市?
  15. java开发规范-控制语句
  16. 手把手教你搭建用户标签体系
  17. 2019阿里秋招一道笔试题(关于火柴拼出最大数字) - Android开发岗
  18. 广州互联网营销群聚会图片
  19. ubuntu终端下字体放大缩小快捷键
  20. Catia V5-6R2016安装教程

热门文章

  1. SPPNet网络模型
  2. Trafodion CQD控制查询执行
  3. 狄慧201771010104《面向对象程序设计(java)》第十四周学习总结
  4. 数学、哲学与形而上学
  5. html弧形列表效果,jQuery效果 弧形弹出菜单
  6. Java设计模式之二十八(里氏代换原则)
  7. 我注册了某音帐号之后。。。(内涵推荐算法)
  8. PostgreSQL with(with recursive )查询
  9. 《算法撕裂者》系列0 - TopK问题
  10. 失去英格兰,欧洲杯会失色?