1

我有一个关于在 jquery 和 php 之间放置逻辑的问题。我正在写一个小网站,用户可以在其中输入不同的值。这些值相加并与保存在 mysql 数据库中的值相乘,然后再次输出给用户。

我的问题是这样做的更好方法是什么。

A:让 Jquery 序列化表单并将所有值发送到 php。Php 从数据库中捕获 Post 变量和值,计算所有内容,将总和写入数据库并将所有内容返回给用户。

B:当用户启动脚本时,数据库的值从 PHP 发送到用户表单。现在 Jquery 进行所有计算。一切准备就绪后,Sum 将发送回 PHP 并写入数据库。

我问的原因是 A:通过验证给定值似乎更安全。但是B:对服务器比较友好。(在 Keyup 上触发 Jquery ajax,这意味着每次用户编辑表单时都会从数据库中查询该值。)

问候,

托尼

4

2 回答 2

5

你永远不应该相信客户。始终在服务器上验证,即使您在客户端上进行验证。

在客户端上进行验证可以提供更好的用户体验,因为它不需要访问服务器。

在服务器上进行验证可确保用户没有篡改数据。

简而言之:两者都做。

于 2012-07-10T11:24:50.200 回答
0

如果您的计算复杂到足以减慢您的服务器速度,我认为您的客户也不会希望在 javascript 中计算它们。如果我在字里行间阅读,我不认为这是一个如此大的计算,那么为什么不走安全(A)路线,让服务器这样做呢?

这样,您的客户就不会弄乱计算:他们可以将任何他们想要的东西发送到数据库(嘿,这是一个表格),但最终您会进行计算。

如果您不需要,请不要优化:)

于 2012-07-10T11:24:57.957 回答