我正在尝试以安全的方式将一些查询参数传递到 Firebase 中的 http 函数。我的参数并不像密码等那么敏感,它们是一些决定逻辑服务器端的布尔值等。
当我尝试一个简单的<form>
用方法GET
or PUT
the res.query
显示的值不是我使用时的值POST
.
<form id="form" action="https://us-central1-***.cloudfunctions.net/myfuncName"
method="post">
<input type="text" name="id" value="test">
</form>
我通过 Javascript 提交表单
this.getElementById("form").submit();
在我的函数中我有:
function(req, res) {
const param = req.query;
console.log('query param is ' , param); //{} when form method is POST
}
我希望能够从我的函数中的 res.query 获取 id,但我得到 null {}。如果我将方法更改为 GET 或 PUT,那么我会看到 {id:test}。
任何有关增强安全性的建议也将不胜感激。谢谢。
res.query
允许您从请求的查询字符串获取参数。 POST 请求不使用查询字符串,因此您不能使用res.query
。 POST 将参数发送到请求正文。
要访问来自表单的请求正文中的 POST 参数,您可以使用req.body
如中所述云函数文档 https://cloud.google.com/functions/docs/writing/http#parsing_http_requests.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)