时间:2015-02-09 23:33:57

web应用安全 简介

分享到:

 

一晃有一年多没有写博客了,每次想提笔写写,由于总是感觉要写的太多了,总是对自己说:“想清楚想明白再写”,这样就一直拖延。 另外一个原因是,觉得也没有什么人看,就这样耽搁下来了。 人是个有惰性的物种,只要惰性战胜了自己,就会找到很多理由让自己偷懒下。好了,闲话少说了,言归正传了。

 

做了多年的web开发,遇到过很多刚刚毕业的兄弟以及刚入行的朋友。 经常在做一些功能时候,从技术设计本身出现各种问题。 他们在程序语言方面非常熟悉,但是做出来经常出现重大安全隐患!主要是用代码实现需求时候,考虑不全面,因此存在各种设计缺陷,产生技术漏洞!一些书本只会教我们 怎么样去实现功能, 而不会说 怎么样完美、无bug实现。这也是我 想写 应用安全的原因! 希望给所有做web开发朋友,一些借鉴,写出更完美的程序!

上一段简单代码吧,限制只有某个a.com 来源站点,可以访问一个页面,我们代码一般如下:

<?php
//读取reffer
$reffer = isset($_SERVER["HTTP_REFFER"])?$_SERVER["HTTP_REFFER"]:'';

if(strpos($reffer,"a.com")===false)
{
    exit('禁止访问!');
}

////继续执行

以上代码,大家应该在一些demo里面,还有书本上面都有看到过,并且也会这样写的。 据说,weixin分享地址时候,也通过这种方式来检查是不是它们的域名呢。

问题出在那里呢?

一个 url 地址格式是: 协议://user:pass@host/path?query#hash  ,可以看到 如果只是简单检测uri 里面是否有a.com ,是不是太容易被绕过了? 只要自己地址是http://b.com#a.com  ,是不是一样可以访问我们资源了?

 

哈哈, 是不是回想起自己某时候也这么写过呢!吐舌笑脸  ,希望这个例子能够激发您的兴趣,我们除了能实现逻辑,好的程序员,应该要做到安全稳定、实现高性能程序! 当然,我们接下来主要讲的是怎么安全实现常见web应用功能。

接下来章节,我就以做一个 简单网页 ‘留言薄’来说吧!  “啊? 为什么是 做留言薄呢”, 其实一个留言板里面功能,也能涉及到我们方方面面了,麻雀虽小、五脏俱全啦! 另外, 记忆最深刻的的,我第一次学习web程序时候,也是从留言薄开始的呢!

 

待续……,先跟朋友们说晚安了!

作者:程默的博客  QQ:8292669
原文网址:http://blog.chacuo.net/1353.html
订阅保持关注:http://blog.chacuo.net/feed
本文版权归作者所有,欢迎转载,请务必添加原文链接。


 

留下评论

要发表评论,您必须先登录