sql >> データベース >  >> RDS >> Mysql

jsからphp、phpからmysql、およびRESTjson応答にデータを送信するときに必要な正しいエンコーディング/エスケープ/htmlentitiesは何ですか

    php / mysql / jqueryを使用してデータをやり取りするときはいつでも、次のエンコーディング/エスケープの組み合わせを使用することになり、うまく機能しているようです。

    1)ここでは何もする必要はありません。URLを送信する場合を除きます(これはGETリクエスト専用だと思います)。ただし、URLを送信する場合は、encodeURIComponent(url)を使用する必要があります。これにより適切にエスケープされます。 URL内の&と特殊文字(こちら を参照) 。

    2)mysqliとバインドされたパラメーターを使用すると、すべてのエスケープが実行されます(こちら

    3)データをHTMLファイルにエコーするときに常にこれを使用します:

    <?php
      htmlspecialchars($string_to_escape, ENT_QUOTES, 'UTF-8', false);
    ?>
    

    これにより、すべての特殊文字が適切にエンコードされます(falseは「二重エンコードなし」を意味します)。また、HTMLページの上部に適切なUTF-8メタタグがあることを確認してください。

    4)json_encodeを使用すると、常にデータを適切にエスケープする必要がありますが、念のため、#3のコードを使用します。ただし、特殊文字を含むデータを返す場合にのみ必要になる可能性があります。



    1. postgresqlセッション/接続を強制終了します

    2. PerlのDBIを使用してSQLインジェクション攻撃から保護するにはどうすればよいですか?

    3. SqlBulkCopyの推奨バッチサイズはどれくらいですか?

    4. Eloquentを使用してLaravelでAUTO_INCREMENTを設定するにはどうすればよいですか?