【问题标题】:Codeigniter clean data before storing it in a sessionCodeigniter 在将数据存储到会话之前清理数据
【发布时间】:2013-07-22 19:39:52
【问题描述】:

我在一个应用程序中使用 Codeigniter,该应用程序从 SQL 服务器获取数据并显示它。为了节省性能,我将查询结果存储在用户的会话中。我遇到的问题是,即使将查询对象转换为数组,数据上仍有符号和/或隐藏字符,不允许我将其存储在会话中。

我设法将有问题的字段向下钻取到 2 个文本字段,即使在应用多个过滤器(如 htmlentities、htmlspecialchars、trim、n2br、addlashes 等)时,似乎仍有其他字符会损坏会话对象。

我错过了什么?

注意:如果我从查询中删除文本字段,其他所有内容都将存储在会话中,没有任何问题。我没有将会话存储在数据库中。

【问题讨论】:

  • 如果您不使用数据库会话,请记住它会将数据保存在 cookie 中,cookie 存储数据的最大限制为 4kb,其他数据将丢失

标签: codeigniter session


【解决方案1】:

尝试使用通用函数html_escape($mixed) 转义这些字符。它根据您在配置中指定的字符集转义字符。您可以阅读更多关于它的信息in the user guide 或阅读源代码 (Common.php);目前,在第 642 行。

【讨论】:

    猜你喜欢
    • 2016-04-23
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 2016-03-09
    相关资源
    最近更新 更多