1

だから私はこのフォームを持っていて、AJAX経由で送信されており、フォームデータはシリアル化されています。そのため、PHP 経由でこのデータを受信したときのバックエンドでは、単純にデータに parse_str を使用し、再度シリアル化してデータベースに保存しています。

私の質問は、シリアル化された JS AJAX 経由で入ってくるデータをどのようにサニタイズできるかということです。それをバラバラにして各値を mysql_real_escape_string で実行する必要がありますか、それとももっと簡単な方法がありますか?

ご覧いただきありがとうございます。

4

1 に答える 1

0

シリアル化されたデータを操作しないでください。長さを変更するとデータが破損し、シリアル化を解除できなくなります。

従来のフォームを使用していた場合は、次のようにします。

  1. クライアント側で、非表示の入力フィールドを使用して文字列化された JSON を送信します。JSON.stringify()
  2. json_decode()サーバー側で、他のフォームデータと同様にサニタイズできる配列を取得します。
  3. serialize()サニタイズされた配列とDBへの保存

JQuery AJAX を使用して POST 要求を送信する場合、JSON オブジェクトまたは配列をそのままデータに渡すことができ、自動的に PHP オブジェクト/配列に変換されるため、ステージ 1 から 2 は冗長です。

于 2013-01-20T07:21:44.217 に答える