使用google API之前需要對input 做什麼 安全性的處理?

发布于 2022-09-04 11:30:58 字数 1301 浏览 7 评论 0

我正要使用node.js 和 google map api做一个小应用,Google MAP API的使用URL如下:

https://maps.googleapis.com/maps/api/place/textsearch/json?query=KEY+WORDS&key=YOUR_API_KEY

KEY WORDS的部分将是我在我的应用上id="keywords"这个input的value

HTML CODE:

<form action="/api/googlemap" method="POST">
    <input id="keywords" diname="keywords" type="text"></input>
</form>

传到/api/googlemap后我使用node.js 的 request当作我的http client去跟google api要资料

var request = require('request');
router.get('/api/googlemap',function (req, res) {
    var keywords = req.body.keywords;
    var url = 'https://maps.googleapis.com/maps/api/place/textsearch/json?query='+keywords+'&key=myapikey';
    request('url', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // Show the HTML for the Google homepage.
  }

  else{
    res.json(response);
}

})
    
});

请问我这样对keywords的处理是不是不够安全?
在node.js 上我应该对 req.body.keywords 做什麽样的处理之后再跟google api再使用request和API要资料?

我注意到value在URL上,google给的example对 (空格)都是使用+替代,而如果我在chrome浏览器上,URL输入空白后会自动换成 %20,那我在node.js需要使用replace(" ","+") 将 (空格)换成+吗?

谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

霊感 2022-09-11 11:30:58

我在使用中文当作keywords时,会出现错误,但是用了encodeURIComponent() 把req.body.keywords之后,就正常了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文