当前位置:首页如何从网站开发角度提高php安全漏洞的防范 举报文章

如何从网站开发角度提高php安全漏洞的防范

作者:admin    来源:用户投稿    时间:2015.6.11   

  目前PHP因其功能强大、入门简单、代码执行效率高等优点,成为了Web应用开发的流行语言。由于使用广泛,所以利用PHP安全漏洞对Web网站进行的攻击也越来越多,这给Web应用的安全带来了严重威胁。对网站的安全负有直接责任的主要有两类人员:一类是网站开发人员;一类是网站管理人员。本文笔者就从网站开发的角度,对PHP安全漏洞的防范进行了较为全面的总结、研究。

  对以往大量攻击案例的研究表明,PHP安全漏洞的产生原因主要是没有对用户的人进行严格的验证和对系统的出没有进行适当的转义。用户的入永远是不可以盲目相信的,在没有进行验证前,都可以认为是被污染数据。系统的愉出在没有适当转义前,也有可能带来较大的安全风险。

  1、未对用户入进行严格验证产生安全漏洞及其防范

  考虑一个系统的登录验证,此系统要求用注册时所填的邮箱和密码登录。一般情况下,只要入正确即可登录,如果人错误则不允许登录,这是通常的处理流程。其程序实现一般是,通过一个登录表单获取用户入的邮箱和密码,然后传递给程序以构造一个SQL查询语句,例如:select count(*)from users where email=''and password='mypass',再将此SQL语句提交给后台数据库执行,若返回的记录数为0,则说明人的邮箱信息或密码有误或用户根本没有注册,系统拒绝其登录,反之则为合法用户,允许其登录。这套验证流程对于一般的客户是十分奏效的,其若没有注册亦或没有袖人正确的邮箱和密码都是不能登录系统的。但对于黑客来说,情况就不一样了。其完全可以精心设计一个字符串来代替合法邮箱地址从而绕过系统的验证,例如:若黑客人的邮箱地址是“myemail"orI=I--"、密码是"myppass",此时SQL语句变为select count(*)from users wherer email='myemail' or I=I--" and password='mypass' ,此语句执行后所返回的记录数是users表的所有记录总数,并不为0,所以通过了系统的登录验证,系统允许其登录。这就是著名的SQL注入攻击。导致这个后果的原因是黑客精心构造了一个字符串用于代替合法邮箱地址且系统并未对用户入的数据本身进行合法性检查。

  为了对上述PHP安全漏洞进行防范,我们可以对用户的人进行合法性验证。此处要求入的是邮箱地址,为了对用户入的数据本身进行合法性检查,我们可以用正则表达式对用户人的邮箱地址进行验证,看是否符合正确的邮箱格式,这样就可以大大增加黑客设计特殊字符串的难度,在一定程度上防止SQL注人漏洞的产生。

  在任何悄况下,如果对用户的人均进行严格的验证,当然,验证方法根据不同情况而有所不同,并不局限于正则表达式,这就可以在很大程度上对PHP安全漏洞进行防范。

  2、未对系统的出进行适当转义产生安全漏洞及其防范

  未对系统的出进行适当转义也会产生安全漏洞,跨站脚本漏洞就是一个很著名的例子。假设有一个可以发表评论的系统,其采用表单的形式进行数据提交。对于一般用户,这不会有什么太大间题,但是对于黑客,问题就来了。因为黑客并不是真的想发表什么评论,其有可能是想盗取其他登录用户的cookies。为了盗取其他录用户的cookies, 黑可以将javascript代码作为评论内容进行提交。

  如果在出前对黑客所提交的内容不做任何转义的话,那么lavascript代码将被其他用户的浏览器所执行,从而将浏览评论的其他登录用户的cookies信息发送到黑客手上。为了防范上述跨站脚本漏洞攻击,我们所要采取的措施很简单:在将评论内容出到客户端浏览器之前,利用htmlentities()函数对出内容进行转义。此函数可以将出内容当中可能包含的html标签转换成html实体,从而使得黑客入的javascript代码不被执行。

  任何情况下,对于系统的出都应该进行适当的转义(转义方法根据不同情况而有所不同,并不局限于htmlentities()函数),这样才不会让黑客有机可乘。

  声明:本文由郑州批发市场:http://www.shun-e.com/market/ 原创投稿,尊重他人成果,转载请注明出处!

好文打赏,给Ta鼓励
扫一扫用手机阅读本文
Tags:如何  网站  开发  角度  提高  安全  漏洞  防范  
  • 相关搜索
图片推荐
    呀!小米在泰国遇到山寨的了!还很受欢迎

    呀!小米在泰国遇到山寨的了!还很受欢迎

    小米也遇上山寨了!很有戏剧性吧?但这件事情就是发生了。  近日,一个名为iMI的品牌在泰国正式发布了自己的4款新手机。价格为3990-8990泰铢,约合人民币700-1600元。据泰国媒体报道,自从i
    微信公众号违规封号之官方所谓的谣言

    微信公众号违规封号之官方所谓的谣言

    微信公众号违规封号之官方所谓的谣言,关于谣言封号,这个问题我们最近半个月的时间听起来是比较敏感的一个话题,我们发现,大量的号被封都是因为谣言导致的,那么对于我们来说,我们要想去判断这个到底是不是谣言这
    如何判定wordpress主题是否安全

    如何判定wordpress主题是否安全

    在之前的淘宝客模板中,和大家分享了一些淘宝客的常用wordpress模板,不过,有些朋友在QQ群中提到,这些模板安全么?其实wordpress的优势之一,就是有N多的免费模板,在淘宝中也有N多的破解模
    实例分析:网站内页排名比首页高的原因

    实例分析:网站内页排名比首页高的原因

    目标网站:www.xxx.com  网站的问题:首页优化的部分关键词,内页在搜索结果中出现的是内页。也就是说网站的内页权重比首页还要高,这对于一个快6年的老域名和PR4的权重来说,太不可思议了。怎么会
    SEO团队应该如何谈单的技巧

    SEO团队应该如何谈单的技巧

    曾经笔者也有一个4人的小团队,业绩不是太好但是一个月也能接个2-3单,因为种种其他因素,我们没有继续进行下去,不知道是逃避还是另有选择,总之我觉得挺可惜的。前天看到一篇文章,讲述的是自己和客户谈合作的
    董明珠:格力正考虑把空调变成一个发电站

    董明珠:格力正考虑把空调变成一个发电站

    昨日,全国人大代表、格力电器董事长董明珠接受南都记者采访时称,格力二代手机的确已准备就绪,但有待公告。她还表示,格力二代手机定位适合所有的人群,售价未必一定是高价。据董明珠透露,格力在开发新的产品,考
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面