【问题标题】:Check source that post request was sent from检查发送请求的来源
【发布时间】:2021-05-07 19:48:56
【问题描述】:

所以我有一个位于https://ad.aakhilv.me/config.js 的 js 脚本,它通过浏览器上的脚本标签向我的服务器发送一个 post 请求,这个函数会解析它:

app.post("/new", cors, async (req, res) => {
  // Parses data sent here.
});

但是,有些人正在自定义脚本并更改应该发送的数据。任何人都知道是否有一种方法可以确保请求是通过我上面提供的脚本 url 发送的,而不是它的修改版本?

【问题讨论】:

    标签: javascript html node.js url post


    【解决方案1】:

    没有真正的方法可以做到这一点。任何人、任何地点、任何时间都可以向“/new”发出post请求。

    您需要做的是验证路由在后端收到的数据。例如,如果您想确保只有用户在更改他们的数据,而不是其他人的数据,那么您需要使用会话 cookie 来验证他们是否已登录。

    最终,您的后端代码必须假设用户会滥用或以其他方式尝试利用该路线(如果可以)。 app.post 中的代码应该能够验证没有恶意数据被发送,并且来自正确的用户。

    【讨论】:

    • 我明白了,因为有些人用它来冒名顶替其他网站,例如 google.com 或 reddit.com。
    猜你喜欢
    • 1970-01-01
    • 2014-08-26
    • 2018-10-22
    • 2013-05-30
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多