MySql 的安全性,采用 mb_convert_encoding、mb_detect_encoding 和 UTF-8



我计划使用以下代码以安全的方式将记录添加到MySql中。我的问题:

  1. 我总是使用管理页面的表单输入自己的文章。由于我的 mysql 数据库和表是用 UTF-8 编码的,因此排序规则:utf8_unicode_ci;我所有的网页都是 charset=utf-8,然后我这样做功能上仍然需要第一句(句子以mb_convert_encoding...
  2. 2 - )网页浏览者是否可以输入他/她的评论进入我的文本区域没有用 UTF-8 编码,尽管我的所有编码(web&mysql) aer set to 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;
    }

您希望数据库记录以何种方式"安全"?防止什么?

为了与数据库通信,应使用参数化查询。这意味着在数据库级别不会存在安全风险。这并不意味着如果以不受保护的方式在其他地方使用存储的数据(例如,作为 HTML 文档的一部分输出),则可能没有危险。

您提到表字符集

是 UTF-8,但没有提到连接字符集。还应确保正确设置连接字符集。

相关内容

  • 没有找到相关文章

最新更新