杜松子酒限制路线

时间:2018-09-22 18:38:41

标签: go routes

我的Web应用程序有滥用的手段,用户可以访问他们不应该使用的内容,例如127.0.0.1/users/1127.0.0.1/users/2127.0.0.1/users/3,依此类推,这些内容可以揭示用户的注册电子邮件,ip等(通过JSON,因此网络服务器可以返回自定义的消息,问候语,并允许用户在配置文件设置中编辑帐户数据)

这是我的路线:

forum.GET("/users/:user_id", routeFunc(UsersGET))

我正在使用Gin-Gonic HTTP框架创建一个虚拟论坛,有人可以告诉我如何在允许实际的Web服务器自由使用的同时,阻止用户访问/users/路由吗?也许将我链接到正确的方向。谢谢!

(服务器使用它来返回诸如Welcome Back, USERNAME之类的内容。)

1 个答案:

答案 0 :(得分:0)

您需要向服务器添加身份验证和授权。

身份验证是用户通过共享机密(例如密码哈希)向您证明自己的身份的地方,而授权则是您检查是否允许该经过身份验证的用户采取其尝试执行的操作。

>

有很多第三方服务可以帮助您解决这些问题(例如Auth0),它们可以为您处理身份验证并为您提供授权库。

通常,人们通过在每个http请求之前运行的中间件(例如gin-jwt)将身份验证绑定到其Gin-Gonic服务器中。一旦该中间件对用户进行身份验证,您便可以在句柄中添加一些逻辑,指出只有用户才能查看自己。

希望这会有所帮助。祝你好运。