使用Base64enconde和解码时的奇怪值

时间:2017-01-25 00:29:46

标签: php html base64

我正在构建一个网站,我正在使用base64encode()和base64decode()。 我通过和url发送base64encode(值)然后我接收然后我解码值。在我有解码值的页面上,我有一个按钮转到上一页,我使用编码再次编码该值并发送它。上一页我解码了该值,我再次编码发送到同一页面。

我第一次收到正确的值但是当我做的超过1时我得到了奇怪的价值。这是我的代码:

第一页: 在这里,我收到一个值,我解码它。

username@servername

在页面的末尾,我有这个代码的列表,在这里我发送编码值:

$tablename = base64_decode($_GET['tablename']);

在seconde页面中,我收到编码值

$descricao = base64_encode($row["descricao"]);
              $tablename = base64_encode($tablename);
              ?>
                <a href="./gestaoalarme.php?descricao=<?=$descricao?>&tablename=<?=$tablename?>">

我有一个返回并发送编码值的按钮。

$tablename=base64_decode($_GET['tablename']);

第一次结果,但不是。

1 个答案:

答案 0 :(得分:1)

由于+ /和=字符,

Base64 encoded values are not URL safe

在网址中使用字符串之前,您还需要使用urlencode()

E.g。

Nearby Search Requests