代码之家  ›  专栏  ›  技术社区  ›  arma Mandip Darji

如何对某些$u GET params进行编码?

  •  0
  • arma Mandip Darji  · 技术社区  · 14 年前

    我目前使用base64_编码一些$_获取参数,我不希望普通用户干扰。 我想知道base64看起来不太强大还是?

    我也不想做一些大的编码,这并不是重要的信息,但我不希望有一般知识的用户会在get中使用params。

    我应该继续使用base64吗?目前它生产 MQ== 如果值是1,那么很容易从URL中取出并解码,然后插入您自己的值。

    4 回复  |  直到 14 年前
        1
  •  2
  •   Vincent    14 年前

    如果您想要一些真正的加密/解密,请查看PHP的Mcrypt特性。 http://www.php.net/manual/en/mcrypt.examples.php

    但是,由于URL规范在字符使用和URL长度方面受到限制,您可能希望使用POST而不是GET。

        2
  •  4
  •   Gumbo    14 年前

    Base-64 encoding 不会以任何方式保护数据。它是一个简单的基转换,就像对整数使用十六进制而不是十进制。

    如果你只是想验证 data integrity ,您可以使用与数据一起存储的盐化散列(带机密盐)。例如,请参见 hashed message authentication code (HMAC) .

        3
  •  3
  •   alex    14 年前

    base64_encode() is not a security measure ! 它被设计成可以通过通常只传输ASCII的介质发送二进制blob。

    使用会话,或正确加密变量。

    我建议只使用会话,并将其存储在默认值之外 /tmp 为了更好的衡量。。。

    ini_set('session.save_path', '/sessions');
    
        4
  •  0
  •   thejh    14 年前

    取决于你想用它做什么。

    如果您只是想混淆它(特别是在Javascript中生成这些URL时),可以将ROT13应用到URL并交换一些额外的字符,使解码变得更困难。

    但是,如果应用程序的安全性依赖于它,则可以在数据服务器端应用静态密钥对称加密,并在收到请求时对其进行解码。我认为这有一些框架。