保护slim 3,RESTful API

时间:2017-08-21 23:34:05

标签: php api security ddos slim-3

我知道如何实现基于令牌的身份验证。但我担心的是用户操作,如注册,登录或验证,以防止攻击机器人。我可以想象一个机器人通过假电话号码发出请求,而我的短信或邮件服务器会响应所有这些!或者数以千计的注册用户在数据库的用户表中,这些用户表是伪造的,未经过验证。我知道一些防火墙策略可以阻止网络层中的这类攻击和流量。但是有可能确保"未经认证的"使用验证码或其他方式的HTTP操作?

如果是,如何将验证码图像从API服务器发送到客户端?在RAW?如果发送Captcha是可能的,那么如何找到哪个验证码适用于哪个客户端?会话有帮助吗?

感谢您的关注。

1 个答案:

答案 0 :(得分:2)

您可以实施一种CSRF(跨站点请求伪造)陷阱来避免这种情况。我使用CSRF和蜜罐字段的组合。这是基本的纲要:

  1. 服务器通过隐藏类型的输入标记填充字段,该标记包含一个即时设置并作为会话变量存储在服务器上的值。
  2. 表单还包含使用CSS隐藏的文本字段(type =“text”或textarea)。
  3. 当我们发布的表单时,隐藏值(CSRF)令牌必须与保存的会话版本匹配,并且
  4. 蜜罐字段必须为空。
  5. 如果测试失败,我会回复401或404

    Reg bots通常会填充honeypot字段,而且有些人足够聪明以规避CSRF - 我会记录所有未通过这些测试的尝试并捕获很多机器人尝试。