【问题标题】:Sending user data from js to php将用户数据从js发送到php
【发布时间】:2012-04-17 08:30:36
【问题描述】:

我正在编写一个应用程序,该应用程序在客户端具有 JS,在服务器上具有 php,在服务器上打开会话及其“在 php 脚本中”我通过从 DB 检索并存储在 @987654321 中的唯一 ID 识别每个用户@起初我认为将用户数据从javascript发送到php就足够了,因为会话将处理识别问题,并且每个用户请求都将由它自己的会话接收,因此没有用户会话会与另一个会话冲突..am我对吗?还是我必须使用其他技术?
我必须将用户ID从js发送到php吗?还是用php声明就够了?
我必须使用会话 ID 吗?

【问题讨论】:

  • 默认情况下,PHP 会将会话 ID 存储在 cookie 中。每次请求都会将 Cookie 发送回服务器。
  • 您的第一个变体没问题。您可以将用户 ID 存储在 $_SESSION["uID"] 中。您应该将用户 ID 从 JS 传递给 PHP 以识别用户。每个用户都有自己的$_SESSION 超全局数组。

标签: php javascript session


【解决方案1】:

通过 js 发送用户 ID 会使您的应用程序不安全。任何人都可以成为任何人。 如果会话由cookies设置,在php端使用该会话就足够了。您不必通过 js 发送会话 ID,因为它会由您的浏览器通过 cookie 自动发送。

【讨论】:

    【解决方案2】:

    非常确定一旦在 php 脚本的开头调用 session_start(),您将能够访问 $_SESSION["uID"]。如果你已经为用户提供了一个唯一的 uID,你只需要在 php.ini 中使用它。此外,如果你使用 uID 从 js 到 php 进行一些调用,将存在巨大的安全漏洞,因为 javascript 很容易受到干扰,并且可能传递“错误”的 uID。所以是的,我会坚持你所说的,我的结论是:是的,在 php 中声明就足够了 :)

    【讨论】:

      【解决方案3】:

      花一些时间阅读课程。

      测试时发生了什么?

      通常会话 ID 是通过 cookie 传输的。 cookie 应该在 xmlhttp 请求中发送到服务器。 Cookie 是通过 HTTP 请求在浏览器上设置的。

      可以通过其他方式发送会话 id,并通过 javascript 设置会话 cookie - 但是在您了解基础知识之前,对此的解释将没有多大意义。

      【讨论】:

        【解决方案4】:

        Php 让客户端将会话 ID 存储为 cookie,每次请求都会发送该 cookie。但是,如果用户不保留 cookie,会话将被取消。更糟糕的是,如果用户从不安全的位置登录,攻击者可能会获得他的会话 ID,系统会错误地将他识别为受害者。

        事实上,没有绝对的方法可以识别客户。在大多数情况下,会话 ID 足够好,但如果您需要额外的安全层,请将帐户与 IP 检查和会话结合使用。

        【讨论】:

          猜你喜欢
          • 2019-04-05
          • 2015-05-23
          • 1970-01-01
          • 2022-08-19
          • 2019-09-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-11
          相关资源
          最近更新 更多