【问题标题】:How to prevent autheticated user from sending similar request via POSTMAN?如何防止经过身份验证的用户通过 POSTMAN 发送类似的请求?
【发布时间】:2020-06-15 11:34:41
【问题描述】:

我正在使用 MEAN 堆栈开发一个简单的网站,它为登录的用户提供一个要完成的任务,并向后端发送与他们在该任务上的表现相对应的分数。用户可以跳到下一个任务,在这种情况下不发送分数。问题是:如何区分用户作弊和通过 POSTMAN 上的 POST 请求发送分数(通过更改 POST 值以增加分数)和由我的前端代码创建的 POST 请求。如何解决这个问题?

【问题讨论】:

    标签: validation authentication postman mean-stack system-design


    【解决方案1】:

    欢迎使用 Stackoverflow,要检查请求是由 POSTMAN(本地)还是由您的后端(由您的前端调用)发出的,您只需检查请求 IP 是否是您的服务器。

    这是一个白名单解决方案

    MEAN Stack 使用 NodeJS,所以你可以使用:

    request.connection.remoteAddress
    

    编辑:

    您可以在您的前台或邮递员发送请求时在您的标头中放置一个特殊参数,并在收到时检查它

    【讨论】:

    • 我认为存在混淆。我正在比较使用来自用户机器的 POSTMAN 的 POST 请求和我的前端 js 代码在用户机器上生成(不是后端!)的 POST 请求,当它必须连接到后端并保存分数时。在这种情况下,POSTMAN 和前端请求都将具有相同的 remoteAddress。
    • 我认为从前端发送的任何静态参数都将在 chrome 开发控制台中可见。用户可以在 POSTMAN 中复制粘贴以进行后续作弊。如何解决这个问题?
    猜你喜欢
    • 1970-01-01
    • 2019-03-29
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2016-10-21
    • 2015-07-16
    相关资源
    最近更新 更多