2017-02-27 60 views
0

我在我的网址查询参数和成功后?= PARAMS我重定向远离这些PARAMS,所以他们从URL清除,但如果我按回它回到那些params,然后如果我按刷新它做一些非法的 - 它重做了刚刚完成的同一事务,并使用http.post和相同的查询参数将更改推送到我的数据库。这会推送已经推送到我的数据库数组并执行$ inc操作的同一件事。这是一个巨大的漏洞!什么是避免此漏洞的最佳方法?角2 - 刷新查询参数打破我的应用程序

+0

你为什么认为这与Angular有关?你必须确保自己的代码不会提出你不想提出的请求。 –

+0

是的,我同意。我正在寻找避免服务器端漏洞的最佳方法。我该如何检查相同的http请求是否由同一个客户端使用相同的参数创建,并防止使用服务器端逻辑与expressjs服务器和传入的router.post方法再次进行相同的http请求? – seanEd

回答

1

你绝对不能信任来自客户端的任何东西,特别是查询字符串。您需要在服务器上执行检查以确保您的所有交易都合法。

+0

是的,我同意。我正在寻找避免服务器端漏洞的最佳方法。我该如何检查相同的http请求是否由同一个客户端使用相同的参数创建,并防止使用服务器端逻辑与expressjs服务器和传入的router.post方法再次进行相同的http请求? – seanEd

+0

除非您正在记录发布的请求,否则可以检查该行是否已存在于数据库中。 – paqash