gpt4 book ai didi

php - 在动态页面之间传递大字符串值的安全方法

转载 作者:行者123 更新时间:2023-11-30 18:46:37 26 4
gpt4 key购买 nike

在页面之间传递大字符串值的安全方法,我在服务器端使用 PHP,在客户端使用 jquery ajax

我正在做一个旅游门户网站,其中我必须显示的火车列表才能预订,我从 php 获取 json 格式的详细信息并将 json 数据格式化为 html。一切都很好

问题是我需要将选定的火车信息和所有火车信息传递到下一页,如果用户希望更改选定的火车我需要返回上一页并再次显示火车列表而不查询服务器

如何以安全的方式将值传递到下一页?或者我如何在页面之间保持较大的值?

最佳答案

有几种方法可以做到这一点,但没有一种是最佳的。

  1. 您可以通过使用 hash-bang url“伪造”不同的页面来将所有内容保存在内存中
  2. 您可以通过普通的 get 参数发送它们,但是自从您提出这个问题后您可能已经知道,这有局限性
  3. 您可以使用 html5 localstorage,但由于除了最新的浏览器外,其他任何浏览器都不支持它,因此这对于需要面向广泛受众的生产站点来说并不好
  4. 您可以使用 cookie,但在这里您会遇到与获取 url 参数相同的限制
  5. 您可以使用闪存,但这需要在每个页面上加载一个闪存应用程序,并且某些用户可能没有闪存或可能已禁用闪存本地存储

我认为最好的解决方案是#2:使用获取 url 参数并通过 url 保持状态。请注意各种浏览器的 url 长度限制,并“压缩”您的数据,以最大程度地减少占用空间。

这样做的方法通常是使用尽可能少的 url 参数,使用逗号分隔的位标志。

例如,您可以更改 url 参数

?cars=ford,bmw,vw,mazda?c=23

然后根据预定义变量按位测试 c,例如:

var BMW = 1, VW = 2, FORD = 4, KIA = 8, MAZDA = 16;

if(c & BMW) { bmw is set}
if(c & VW) { vw is set}
if(c & FORD) { ford is set}
if(c & KIA) { kia is set}
if(c & MAZDA) { mazda is set}

这个例子并不意味着漂亮,只是为了展示这个概念。

如果您以这种方式最小化您的 url 足迹,您可以在 url 中存储大量数据,并且您不太可能遇到 url 大小限制。

关于php - 在动态页面之间传递大字符串值的安全方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5245456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com