1

jquery と php の間のどこにロジックを配置するかについて質問があります。ユーザーがさまざまな値を入力できる小さなウェブサイトを書いています。これらの値は加算され、mysql データベースに保存されている値と乗算され、再度ユーザーに出力されます。

私の質問は、これを行うためのより良い方法は何ですか。

A: Jquery でフォームをシリアル化し、すべての値を php に送信します。Php はデータベースから Post 変数と値を取得し、すべてを計算し、合計をデータベースに書き込み、すべてをユーザーに返します。

B: ユーザーがスクリプトを開始すると、データベースの値が PHP からユーザー フォームに送信されます。Jquery がすべての計算を行うようになりました。すべての準備が整うと、Sum が PHP に送り返され、データベースに書き込まれます。

私が質問している理由は、A: 与えられた値を検証する方が安全だと思われるからです。しかし、B: はサーバーに対してより友好的です。(Jquery ajax は Keyup で起動されます。つまり、ユーザーがフォームを編集するたびにデータベースから値が照会されます。)

よろしく、

トニ

4

2 に答える 2

5

クライアントを信頼してはいけません。クライアントで検証する場合でも、常にサーバーで検証してください。

クライアントで検証すると、サーバーに移動する必要がないため、ユーザー エクスペリエンスが向上します。

サーバー上で検証することで、ユーザーがデータを改ざんしていないことが保証されます。

要するに、両方を行います。

于 2012-07-10T11:24:50.200 に答える
0

計算が複雑でサーバーの速度が低下する場合、クライアントがそれらを JavaScript で計算したいとは思わないでしょう。行間を読むと、これはそれほど大きな計算ではないと思うので、安全な (A) ルートに進み、サーバーにこれを行わせませんか?

こうすれば、クライアントは計算をいじることはできません。クライアントは、データベースに必要なものを送信できますが (これはフォームです)、最終的に計算を行うのはあなたです。

必要がない場合は最適化しないでください:)

于 2012-07-10T11:24:57.957 に答える