当现有参数被写入两次时,nodejs sqlite 服务器崩溃
nodejs sqlite server crash when existing param is written twice
我创建了一个使用 expressjs 和 sqlite3 的网络应用程序。
例如,如果我在 table 家族中搜索名字 john:
http://mypage.com/search?name=john&table=family
它显示结果没有任何问题。
但是如果有人在之前的 link 之后手动添加 &table=xxxxxx 它会自动崩溃。
我一直在寻找解决方案一段时间,但无法提出任何解决方案。
我应该如何预防这种情况??
我认为您的代码假定 table 查询参数为字符串。
但是如果你在查询字符串中再次输入“&table=xxx”,"table"的查询参数变成数组。
/search?name=john&table=family&table=xxx
查询={"name":"john","table":["family","xxx"]}
我创建了一个使用 expressjs 和 sqlite3 的网络应用程序。 例如,如果我在 table 家族中搜索名字 john: http://mypage.com/search?name=john&table=family 它显示结果没有任何问题。 但是如果有人在之前的 link 之后手动添加 &table=xxxxxx 它会自动崩溃。 我一直在寻找解决方案一段时间,但无法提出任何解决方案。 我应该如何预防这种情况??
我认为您的代码假定 table 查询参数为字符串。
但是如果你在查询字符串中再次输入“&table=xxx”,"table"的查询参数变成数组。
/search?name=john&table=family&table=xxx
查询={"name":"john","table":["family","xxx"]}