php接口安全问题

  在平时工作或者正式项目中,做接口在所难免,而接口的安全问题首当其冲,为了防止接口被别人恶意调用,一般会做一个加密的工作,不同的公司,都有一套不同的处理方式。我们公司也有一套处理方式,即:做了一个加密的token,该token为时间戳和一个特殊字符串(这个字符串只能调用和被调用方知道)的md5,我也一直用这个处理方式来做接口。


  有一次在帮部门的一个同事做接口的时候,他忽然跟我说起接口的事情,如果这个接口的url被别人随便用一个工具抓到,比如:firebug,那么人家就可以进行恶意调用了,其实这个token没什么用,因为别人可以保留这个请求。一下提醒我了,之前一直没有注意到这个问题,简单的认为这个url不会被轻易抓到(虽然自己一直用firebug),即使被抓到,也绕不过token的检查。后面跟这位同事大概讨论了一下这个问题的处理办法,他建议通过ip来判断,判断同一个ip的请求频率,如果频率过高则为恶意调用,当然这个方法也可行,只是稍微麻烦了一些,后面想到了一个更为简单的方法,即:时间的有效性。因为token是由时间戳和特殊字符串md5而成,那么每次调用接口的时候,我可以把当前调用的时间戳记录下来(比如保存在一个数组中,以文件的形式存放),然后在下次调用时判断请求的url中的时间戳在数组中是否存在,若存在则为恶意调用(因为若为正常调用,每次请求的url中的时间戳都是不一样的)。如此,便可防止接口被恶意调用。另外,随着调用次数的增加,存放时间戳的文件会越来越大,针对这个问题,可以不定期删除,即使有人*的保存一个url很长时间,然后某一天心血来潮,再来一次调用,接口也只会被恶意调用一次,不会产生影响。


  php安全问题,不仅仅是接口安全,还有诸多安全问题,比如常见的SQL注入,XSS攻击等,这些的防范,都需要平时coding的时候从一开始就重视起来,否则到时候不但难于查找,也比较被动,甚至可能会因为这些安全问题,会给项目带来毁灭性的的打击,当然也会让你痛不欲生!


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值