0

安全な方法でMySqlにレコードを追加するために、以下のコードを使用する予定です。私の質問:

  1. 私はいつも管理ページのフォームを使って自分の記事を入力します。私のmysqlデータベースとテーブルはUTF-8でエンコードされているため、照合:utf8_unicode_ci; そして、すべてのWebページはcharset = utf-8ですが、関数の最初の文はまだ必要ですか(文はmb_convert_encodingで始まります...)
  2. 2-)Webページビューアで可能ですか?すべてのエンコーディング(web&mysql)aerがutf-8に設定されているにもかかわらず、テキストエリアへのコメント入力がutf-8でエンコードされていません
  3. 以下のコードは改善が必要ですか?

    function safe_input_into_mysql($safe_str)
    {
    $safe_str = mb_convert_encoding($safe_str, 'UTF-8', mb_detect_encoding($safe_str));
    $safe_str = mysqli_real_escape_string($dbc, $safe_str);
    return $safe_str;
    }

4

1 に答える 1

0

データベースレコードをどのように「安全」にしますか?何に対して安全ですか?

データベースとの通信には、パラメーター化されたクエリを使用する必要があります。これは、データベースレベルでのセキュリティリスクがないことを意味します。保存されたデータが他の場所で(たとえば、HTMLドキュメントの一部として出力されて)保護されていない方法で使用された場合に危険ではない可能性があるという意味ではありません。

テーブルの文字セットはUTF-8であるとおっしゃいましたが、接続の文字セットについては触れていません。また、接続文字セットが適切に設定されていることを確認する必要があります。

于 2013-02-01T13:42:41.537 に答える