-1

My ajax requests point to a URL which is linked to a controller then model that inputs the data in to a database.

My question is, what is to stop other people making an ajax call to that URL with data and entering it in my database.

How can I protect against this?

4

3 回答 3

4

您无法阻止人们伪造 AJAX 调用。换句话说,接收 AJAX 调用的脚本无法确定调用是否合法。

如果你想确保调用是合法的,你必须实现某种高级逻辑(哈希、密码......)。

于 2013-09-05T10:24:44.950 回答
1

好像您已经构建了一个从客户端调用的 API。您使用的是 REST 还是 SOAP?由于当今大多数移动应用程序都以 REST API 方式工作,因此您可以尝试此处描述的 API 密钥方法。

如果您没有可以拥有逻辑的客户端,那么我想使用Synchronizer Token

于 2013-09-05T10:32:42.653 回答
0

究竟是什么将您页面的用户与“其他人”区分开来?他们是否以错误的格式输入数据?他们输入的太频繁了吗?您应该专门防止这些事情发生,而不是尝试控制从何处访问 URL。例如,如果 ajax 函数仅发送 5 个特定输入,只需将控制器设计为仅接受这些(或 1 到 5 之间的数字)并将适当的数据传递给模型,并忽略所有其他调用。

于 2013-09-18T14:19:08.597 回答