PHP写的API怎样防止拒绝服务攻击

其实题主说的问题 普遍存在 从两方面可以说下代码方面:程序员的经验吧 。一般就是代码方面黑白名单 其次就是接口超时的处理 剩下的就是一些规范。其实没有什么特别好的经验 。更多来说 一般的小黑客也不会直接DDOS你 。要是真的DDOS 你 这些基本也够了。 更多是日常维护的对数据异常的处理。其实 你不用担心被恶意攻击。接口这东西 说白了 也是POST GET 。只要你在处理接口数据时候过滤 保证数据的安全性 一般的漏洞是可以防住的 。 一般的三流黑客基本都会挡在这个门口。 除非你网站很出名 那你可以找安全公司做下测试 。基本也就OK
■网友
应对DDoS攻击,更多的是系统层面的防护,PHP写的API接口一般是业务上的,业务上的PHP能做的就是不要挂,做到尽量快的响应另外考虑到机器负载能力,基本上这类问题就需要用到流量控制,限定一个终端对于某个API一段时间内访问次数
■网友
太频繁的就封IP呗
■网友
ip白名单
■网友
1.认证接口接收一个客户端时间和一个签名。首先验证客户端时间与服务器时间在一定误差范围内(比如±5分钟,误差范围越大越不安全),然后验证签名是否一致(签名算法必须使用客户端时间),成功后返回一个token和一个随机字符串。2.除认证接口之外的所有接口必须接收token和一个签名。首先检查token是否合法,然后验证签名是否一致(签名算法必须使用认证接口返回的随机字符串)。3.所有接口做策略: 1) 验签失败一定次数(1次,2次,3次,越大越不安全),屏蔽ip。 2) 单ip调用超限(最好根据业务需要,针对每个接口做不同的限制。比如登录,可以要求5次/天),屏蔽ip。
■网友
不用这么麻烦,使用iptables
■网友
一般用web服务器做防御就可以了,Nginx或Apache网上都有防DDoS的配置方案和插件直接可以使用
■网友
不需要及时交换的数据可以通过PHP生成.json或xml的数据文件,建立更新机制,系统自动跑,前端直接读取文件,这样可以降低数据库请求及系统逻辑的处理。需要交互类的接口可以通过用户登录后方法密钥(密钥需要有生命周期的)进行相关加密(密钥2)流程后再向服务器发送https post请求,接收数据后首先解密对比密钥,密钥不对直接拦截不做处理。从web服务上作出请求限制60秒内最大请求次数,超过后密钥作废,屏蔽ip1分钟,再结合云端黑白名单安全有所保证。
■网友
终于知道token和一个随机字符串的用意了,哈哈


    推荐阅读