前段时间,同事LeeQueen为公司同事做了个《安全意识防护》的PPT,效果很好,各位新同事也知道日常公工作中,不太注意到的隐私保护问题。PPT中也提到了一些社会工程学的案例,提到了某团购网站前台人员被声称是新开礼品公司的工作人员,以填写信息就送礼品为由,获取到此团购网站的所有员工联系方式。后此团购网站的高层打电话回访,得知对方是猎头公司[详情见乌云网的链接]。此案例非常典型,讨论也尤为激烈,可谓是非常成功的培训。
此次培训之后,职业欠钱[sina微博][腾讯微博]让我给我们开发部门的PHP程序员同事们做一次PHP开发、运维时候一些安全注意事项。由于我在安全这块资历较浅,没有经验,我了解的大家都懂,这个话题太高深,我的水平完全不够,没法写这个PPT。而且,同事里有好几位安全界的前辈,我怎可关公面前耍大刀呢。上次写过一次关于正则表达式PPT,也就是一个月之前,深刻的体会到写PPT的痛苦,尤其是排版。实在不想写了。
后来,经常看到网上的安全工程师提到程序员安全意识较差,以至于同样的危险代码,危险程序,却屡次不改。当然,不是程序员不想改,而是程序员不太理解代码形成安全漏洞的原因。为此,我也觉得有必要提高一下我们程序员的安全意识了。
PPT中写了网络上常见的漏洞,形成原因,漏洞原理,防护建议等;也列举了近年来跟WEB相关的安全漏洞,以程序员的视角理解漏洞原理,并给出修复建议。这些建议仅供参考,不是正确答案。 由于本人水平原因,PPT中难免有错误,请见谅。也请安全界工程师指正。
借用网友的一句话,作为程序员,尽量要做到“知其然,知其所以然”,多多关注web安全,不要给安全工程师添麻烦,不能丢了程序员的脸。

同时,公司招聘PHP程序员,地点上海,公司规模为150人+,做网络游戏研发、运营。招聘条件以及待遇之类的,可以通过以下方式联系我,我们私聊。
http://weibo.com/cfc4nx
http://t.qq.com/cfc4nx
邮箱:cfc4n@博客域名点COM
最后,PPT是周末两天写的,这两天老婆挺着6个月的大肚子,为我做饭,老婆实在是太辛苦了,感谢我老婆。
PS:讨厌写PPT[流泪]。
在线阅读:
下载到本地:
PPT下载:web开发与运维安全浅见PPT下载,猛点这里
更多亮点在PPT的备注里,各位一定要看备注。转载的朋友麻烦保留PPT完整,包括招人信息。尤其是备注要保留。
——-
PPT在2011/09/19 更新了,更换匹配NGINX 对URI中PHP脚本的正则,考虑到了拓展名为 .phpa .phpb .phpc之类的情况。主要是更换了正则匹配的图,更改了正则内容。
2015/06/09 备注, nginx匹配URI时,对于PHP的解析,更改为
location ~ ^(?:(?
不错,辛苦了 :razz:
呵呵,建议兄弟试试 #txt2tags ,所思即所得。演示效果 http://t.cn/ad4CrN 源文件内容 http://t.cn/ad4CdO(
好的,谢谢。看上去很高级啊,备注信息是不是就没了?
写的非常不错,在我们部门程序员中传了,确实是从程序员的角度来总结的,看的时候有代入感。有机会再请教
[…] http://www.cnxct.com/web-development-security-ppt/ WEB开发安全与运维安全浅见 […]
我是网上搜到的这篇ppt。写的真的很好。谢谢分享。有问题还向您请教
[…] 2011年度写博客大约6篇,平均2个月一篇,相比以为大牛60篇来说,还是非常非常的少。当然,我跟这位大牛的水平差距也非常的大,我之是他的1/100,甚至不到。2012年,由于我最近比较想读原理类的技能资料,要多多关注鸟哥、春哥两位重点讲述PHP原理与Nginx原理的大牛学习。同时,要做总结自己的学习成果,并记录下来,N年之后,我退休了,这也算是经验之谈,丰富的学习资料,留给我的儿子继承了。今年,我在sina微博跟腾讯微博上发言的次数综合大约为1500次,平均每天5条,这足够可耻了,太浪费时间了。来年要减少微博的使用次数,增加博客的撰写。 在第三季度写了两个PPT《正则表达式匹配原理》与《WEB开发安全与运维安全浅见》,其中背后所需学习的知识点比较大,算是自我批评的一点安慰吧。2012年计划再写一个关于HTTP1.0与1.1相关的PPT,分享下我的学习经验,同时,给自己下目标,鞭策自己。 […]
你好, 有个问题想请教一下:
就是关于getimagesize函数的问题,
PPT中写道:
print_r(getimagesize('1.jpg'));
———— PHP DEBUG ————-
Array
(
[0] => 2573
[1] => 16188
[2] => 1
[3] => width="2573" height="16188"
[channels] => 3
[mime] => image/gif
)
我想问一下, 在什么情况下会出现这种情况.
谢谢
你好, 有个问题想请教一下:
就是关于getimagesize函数的问题,
PPT中写道:
print_r(getimagesize('1.jpg'));
———— PHP DEBUG ————-
Array
(
[0] => 2573
[1] => 16188
[2] => 1
[3] => width=”2573″ height=”16188″
[channels] => 3
[mime] => image/gif
)
我想问一下, 在什么情况下会出现这种情况.
谢谢
你好, 有个问题想请教一下:
就是关于getimagesize函数的问题,
PPT中写道:
print_r(getimagesize('1.jpg'));
———— PHP DEBUG ————-
Array
(
[0] => 2573
[1] => 16188
[2] => 1
[3] => width="2573" height="16188"
[channels] => 3
[mime] => image/gif
)
我想问一下, 在什么情况下会出现这种情况.
谢谢
你好, 有个问题想请教一下:
就是关于getimagesize函数的问题,
PPT中写道:
print_r(getimagesize('1.jpg'));
———— PHP DEBUG ————-
Array
(
[0] => 2573
[1] => 16188
[2] => 1
[3] => width="2573" height="16188"
[channels] => 3
[mime] => image/gif
)
我想问一下, 在什么情况下会出现这种情况.
谢谢
不小心又被被传送门带这里来了,话说更新频率真低啊
呵呵,确实,惭愧惭愧。
[…] 好像有点偏离这篇文章的标题了,其实我更想说我不能理解为啥nginx跟php-fpm给的默认配置中,都是TCP socket通讯的,为啥不默认给unix domain socket的默认配置呢?如果说为了方便非同一台服务器时的情况,但给的默认IP也是回环地址呀。 而且,nginx给默认配置中,对于uri请求中的php文件的处理,匹配规则还是老的,之前发生因为NGINX与PHP的配置而导致的安全问题,虽然不是nginx的错,但nginx也可给出更严谨的范例,但仍没有。 […]
下载学习了~~ :razz:
[…] SQL注入原理、方式,跟普通web应用一样,没什么特别的,在使用REQUEST来的参数时,过滤处理即可。可能在消息格式,以及注入操作简便上,会蒙蔽研发人员的眼睛,被忽略掉了。比如我们项目的AMF消息格式,在前端界面没出来之前,我们后端程序员一般使用Pinta来模拟操作,调试程序。前端界面出来之后,会使用Charles proxy来捕捉http请求。在这些过程中,请求接口、参数的构造,没有普通web那么简单。研发人员也容易忽略对请求参数的过滤,故很容易形成这种问题。形成原理见:《WEB开发安全与运维安全浅见》,防御方式做过滤处理,或SQL预编译。 […]
[…] SQL注入原理、方式,跟普通web应用一样,没什么特别的,在使用REQUEST来的参数时,过滤处理即可。可能在消息格式,以及注入操作简便上,会蒙蔽研发人员的眼睛,被忽略掉了。比如我们项目的AMF消息格式,在前端界面没出来之前,我们后端程序员一般使用Pinta来模拟操作,调试程序。前端界面出来之后,会使用Charles proxy来捕捉http请求。在这些过程中,请求接口、参数的构造,没有普通web那么简单。研发人员也容易忽略对请求参数的过滤,故很容易形成这种问题。形成原理见:《WEB开发安全与运维安全浅见》,防御方式做过滤处理,或SQL预编译。 […]