以前做ajax都没做过是否是ajax请求的判断。
有个新同事说要做判断,才注意到这个。
我查了很多站点 像优酷
他们都没做ajax获取的判断。
是否有必要做这个判断呢。
ajax php

解决方案 »

  1.   

    最好做,一般ajax请求的返回数据要求要高些
      

  2.   


    要看什么情况了,比如你的网站支持发布一个消息的功能,而这个是ajax请求,同时get方式传参即可。比如:msg.php?content=test。那么如果你不做ajax判断的话,同时你的站点又是很火的那种站点(比如微博等),那么我就可以恶意攻击,在我的网站下面插入一个iframe,而这个iframe指向的是msg.php?content=我被攻击了,  那么一旦你访问我的站点,在你不知道的情况下,其实你的微博已经更新了一条消息“我被攻击了”,这是最常见的也是最简单的csrf攻击。有的严重其实攻击渗透到银行流程中去,所以看你的需求了,ajax我建议还是做判断吧,最起码也要refer判断一下吧~
    现在有些网站这种漏洞还是很严重的,两周前我还发现了一个已知的国内大型网站的这种漏洞,只要我在论坛里面发个帖子说大家都来看看(那个地址是我自己的测试服务器url),然后这个网站的一个投票数就会自动增多,很多人都在不知情的情况下帮我投票真心建议,做个判断吧~
      

  3.   

    关键看需求,程序说到底就是接收一个请求,返回一个结果
    如果是可预见合理请求(在其他层次已经处理了不合理情况),就没必要在这个层次再判断
    如果不可预见是否合理,则就算不是ajax也要做各种判断
    例如表单提交,虽然客户端javascript做了判断,但仍然不能确定是否恶意提交如果返回是面向一个特定的请求,例如API,那么肯定要检查的
    至于攻击之类,难道不是ajax就不防范么?记住一个原则:易入难出