学习基础
首先是需要对PHP语法和函数有所了解,以及使用PHP开发过一些功能模块,比如接收参数,输出内容,调用linux命令,文件上传,图片验证码生成等常见功能.
然后是对数据库有使用经验,在开发中一定会使用到mysql,因此也需要对mysql的SQL语法有所了解,比如mysql的数据库的表如何创建,如何通过SQL语句获取一条数据,以及对数据库的正删改查。
最后是需要大家拥有一定的项目开发经验,比如开发过验证码验证功能,账户密码的找回功能,个人资料的查看,订单的金额生成有所经验.
只有掌握了上面所提到的学习基础,在接下来才可以顺风顺水的学习,因此本门课程面向的学员是有两年左右开发经验的同学.
学习目标
1. 熟悉安全编码规范,比如你将会知道参数接收有哪些注意事项,如何防止SQL注入,有如何防止XSS跨站,以及如何防止编码过程中产生其他安全问题。
2. 规避常见逻辑漏洞问题,比如说在订单项目中,张三为什么能看到李四订单详情;再比如在账户系统中张三可以随意修改李四账户密码
3. 找出网站潜在的安全隐患,本门课程不仅仅是讲安全开发,在学习安全开发的同时,我相信各位同学也能掌握到一定安全检测能力。
课程设计
这门课程有两大部分内容:
第一部分是 安全编码,安全编码会讲到SQL注入、XSS跨站攻击、CSRF请求伪造、文件包含、文件上传漏洞;
第二部分是防范逻辑漏洞,比如订单系统当中张三能看到李四的订单。这明显是有问题的,但是依然有很多订单系统。会存在这样一个问题。这不仅仅是一个编码的问题。更多的是一个底层设计的问题。通过第二部分防范逻辑漏洞,我将会教大家如何去避免这些逻辑漏洞问题的产生。
最后在编码部分和防范逻辑漏洞部分内容讲完后,我会带领大家连贯性的做一些练习。