动作英雄JS张贴API



我对Action HeroJS完全陌生,我想知道如何限制用户从浏览器访问我的Action HeroJS rest API,url?我甚至把路由设置为POST,但它仍然可以通过get方法访问?

就像在java中,当我们将rest api指定为post时,get或浏览器url将无法访问它?我怎样才能做到这一点?

编辑:联系了github上的Action Hero,他们非常有帮助,解决方案是:在web.js中,放置simpleRouting:false,它应该可以解决问题。在你可以从URL访问后路由操作之前,但完成后你就不能了!!使用get访问POST将返回404。

谢谢@Evan

无论您的语言/框架如何,所有路由都可以被任何人攻击,除非您在负载均衡器或类似级别上阻止它们。

与其把问题看作"如何阻止"访问,不如把问题看作是"我如何确保该用户通过身份验证以使用此路由"。使用cookie或代币之类的东西是可行的。

您可以使用actionhero的中间件将访问规则应用于特定操作,并在不允许的情况下返回错误。

下面是一个做这些事情的示例项目:

  • 处理会议的行动:https://github.com/evantahler/actionhero-angular-bootstrap-cors-csrf/blob/master/actions/session.js
  • 使用该会话数据进行访问的中间件:https://github.com/evantahler/actionhero-angular-bootstrap-cors-csrf/blob/master/initializers/session.js
  • 以及最后需要logged-in-session中间件的另一个动作(route/url):https://github.com/evantahler/actionhero-angular-bootstrap-cors-csrf/blob/master/actions/showDocumentation.js

最新更新