3

我正在编写一个 Web 应用程序,我需要在页面加载时将一些用户数据传递给 JS 应用程序。我已经确定了 3 种不同的方法,我想知道这方面的最佳做法是什么。数据不是特别敏感,但最好是与其他数据相比更安全一些。

1.异步加载数据

使用类似$.ajax(). 我不喜欢这种方法,因为它通常会导致整个“加载”现象,我想避免。准备好数据而不是单独调用。

2. 将数据烧录到页面中。

这可以通过做这样的事情来实现

<script>
    var userdata = { somekey: somevalue }
</script>

3. 使用脚本标签发出请求

这可以通过做这样的事情来实现

<script src="server/getdata"></script>

我知道这有点像第一种方法,因为它向服务器发出另一个 get 请求。

我的问题是,上述 3 种方法中的任何一种在安全性方面是否不同或更好。我知道所有 3 种方法都不是特别安全,特别是因为它可以很容易地被嗅探到,但是上述任何一种方法是否比其他 2 种方法更好,为什么?

4

1 回答 1

3

在你给出的那些中,2 是最好的,正如你所说的那样。但是,我不会为它添加一个新的全局变量。相反,我会这样做:

<script type="text/javascript" src="application.js"></script>

然后创建someGlobal(除其他外):

<script>
    someGlobal.userdata = { somekey: somevalue }
</script>

具有相同优点的另外几种方法是:

  1. 数据属性。就是这些data-。您可以放置​​与特定元素相关联的任意数据(有时特定元素有意义;否则,您可以使用body)。
  2. 隐藏的表单域。
于 2012-04-10T03:55:52.720 回答