【问题标题】:How to hide or translate the URL search parameters?如何隐藏或翻译 URL 搜索参数?
【发布时间】:2019-01-30 08:49:09
【问题描述】:

现在我正在开发一个支持 yii2 的应用程序,它需要支持 2 种语言。 在 gridview 中搜索时,生成的 url 是这样的:

books/?BookSearch[code]=&BookSearch[name]=pet

有没有办法翻译或隐藏搜索参数? (隐藏对我来说可能是最好的选择)。 books/?BookSearch 部分甚至可以保持不变,我要更改的是属性(在本例中为代码和名称)

【问题讨论】:

  • 您想在会话中进行混淆、加密或存储吗?还有什么?
  • 混淆(最佳选择)或加密
  • 使用POST 代替GET?
  • 您想隐藏BookSearch 键或值或两者?可能最重要的是,您为什么要这样做?查询字符串是否需要永远工作(作为永久书签)?重要的是人类无法理解(以及谁在乎有人破解它)还是需要“不可破解”?
  • 您应该尝试为不同的语言创建两个独立的搜索模型,以及两个使用正确模型的独立网格。你需要相当复杂的抽象来以方便的方式支持这个用例,如果你只有 2 种语言(和一种形式?),这可能不值得。但也许最好的选择是放弃整个想法,它会给你带来更多的问题而不是好处。

标签: php yii2 internationalization


【解决方案1】:

您可以将数据设置为会话数组并在搜索页面上调用它们

您可以参考此堆栈以获取更多信息Array as session variable

【讨论】:

    【解决方案2】:

    我不知道这是不是你的回答,但如果你喜欢使用“代码”和“名称”,你可以使用它来加密

    $encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey);

    这个解密

    $data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-25
      • 2017-02-18
      • 1970-01-01
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-02
      相关资源
      最近更新 更多