0

フォーム データを ajax 経由で PHP スクリプトに投稿する最良の方法は何だろうと思っています。私はこれらの3つの方法に従っています:

  1. フォーム フィールドを個別に PHP に投稿します (そして、PHP では通常のように個別に受信します)

  2. フォーム データを JSON エンコード データに変換し、単一の POST フィールドで PHP に送信します (そして、JSON エンコード データを持つ単一の POST 変数として PHP で受信します)。

  3. フォーム データを JSON エンコード データに変換し、PHP が で受信する方法で PHP に送信します$GLOBALS["HTTP_RAW_POST_DATA"]

セキュリティとパフォーマンスの観点から、どの方法が最適かをお聞きしたいと思います。このプロセスを実行するための他の良い方法はありますか? jQuery AJAX経由で送信していることを繰り返します。

4

2 に答える 2

6

フォーム データを ajax 経由で PHP スクリプトに投稿する最良の方法は何だろうと思っています。

完全停止。jQuery は、この特定の問題を解決しました。serializeまたはを使用serializeArrayして、より重要なことに進みます。


セキュリティとパフォーマンスの観点から、どの方法が最適かをお聞きしたいと思います。

あなたの方法はどれも「最良の」方法ではありません。それらはすべて、jQuery が既に提供しているものを単純に使用するよりも悪いものであり、セキュリティとパフォーマンスの点ですべて無効です。セキュリティとパフォーマンスは、投稿したコードには関係ありません。これらの概念は、あなたがやろうとしていることの完全に外部のものであり、完全に別のレイヤーで実装されています。

ここではセキュリティはまったく関係ありません。SSL を使用して安全であるか、SSL を使用しておらず、セキュリティがないかのいずれかです。妥協点はありません。データを投稿するために使用する方法は、セキュリティとはまったく関係ありません。あなたの方法はどれも、他のどの方法よりも多かれ少なかれ「安全」ではありません。

パフォーマンスに関しては、HTTP 要求が少ないバージョンの方が優れています。フィールドを個別にポストすることは、パフォーマンス面でひどいものになるでしょう。 とにかく、そのようにデータをジャグリングするのは悪夢だと思います。そのように一度に 1 フィールドずつフォームをポストバックすることには、文字通り何の利点もありません。私が誤解していて、メソッドごとに 1 つの HTTP POST を使用することについて話しているのであれば、これ以上優れたメソッドはありません。

これを jQuery でタグ付けしたので、jQuery の方法を使用しserializeます: フォームを使用して、シリアル化されたデータをポストバックします。で投稿されたデータの通常の配列を受け取ります$_POST。他に何かをする理由は本当にありません。複雑さを追加するだけで、何のメリットもありません。

于 2012-10-23T14:23:38.790 に答える
2

パフォーマンスに関しては、リクエストの数を最小限に抑えることをお勧めします。1回のPOSTですべてのデータを送信できる場合は、送信する必要があります。ただし、すべてを単一のフィールド値として送信する理由はおそらくありません。わかりやすくするためにそれらを別々のフィールドとして送信し、通常のフォームを受け取っているかのようにサーバー側で処理します。

セキュリティに関して:POSTを使用する場合、他のどの方法よりも安全な方法はありません。https:ここで物事を強化してみてください。

于 2012-10-23T14:19:28.603 に答える