代码之家  ›  专栏  ›  技术社区  ›  antpaw

会话中的敏感数据存储?

  •  1
  • antpaw  · 技术社区  · 15 年前

    在会话变量中存储敏感数据是否安全?或者客户可以修改它吗?

    5 回复  |  直到 15 年前
        1
  •  7
  •   Pascal MARTIN    15 年前

    会话的数据存储在服务器上 (通常,在文件中) .

    因此,客户机不能修改它 --当然,除非你有一个安全漏洞;但是,如果是这样的话,人们可能更喜欢修改一些更关键的东西,比如数据库中的数据。 .


    但是,由于它通常存储在服务器上的文件中,如果您使用某种共享宿主,那么服务器上的其他用户可能能够看到会话的文件…至少,如果宿主服务没有配置服务器,那么每个用户都处于隔离状态。

        2
  •  3
  •   codaddict    15 年前

    它非常安全。会话变量类似于服务器端cookie。客户机不能修改它们。

        3
  •  2
  •   duffymo    15 年前

    由哪个客户修改?您最大的担心应该是确保没有其他人(例如,没有其他线程)看到那个敏感数据。

        4
  •  2
  •   Luca Matteis    15 年前

    它是安全的,会话存储在服务器端。客户机拥有的只是会话ID。

    这个 session id 仍然是对其他人隐藏的非常重要的信息,但是大多数会话实现也通过确保 会话ID 由同一IP地址使用。

        5
  •  1
  •   selfawaresoup    15 年前

    在共享托管环境中,这绝对是不安全的,就像大多数不包括专用(虚拟或物理)服务器的Web托管交易一样。 由于会话数据存储在文件系统中,默认情况下不会以任何方式加密(取决于您的Web主机配置),因此来自其他主机帐户的脚本可能会访问您的会话数据。

    对于敏感数据,有更安全的地方。根据数据的性质,您甚至可能需要考虑对数据存储进行加密。

    即使您的应用程序驻留在一个专用服务器上,而会话数据在理论上是安全的,会话也不是一个非常可靠的存储介质。将数据库用于任何持久和/或敏感数据。