如何屏蔽在PHP中通过URL传递的id?

时间:2017-03-03 16:05:07

标签: php html

我想屏蔽在PHP中通过URL传递的ID。 例如,我想转换它:

<a href="userprofile.php?id="26">

之类的东西

<a href="userprofile.php?ID=762378207367">

2 个答案:

答案 0 :(得分:1)

Base64解码/编码将完成这项工作。 What is base 64 encoding used for?

当您想要通过网络发送某些二进制数据时,通常不会通过以原始格式在线路上传输位和字节来实现。为什么?因为某些媒体是为流文本而制作的。你永远不会知道 - 某些协议可能会将你的二进制数据解释为控制字符(如调制解调器),或者你的二进制数据可能被搞砸了,因为底层协议可能认为你输入了一个特殊的字符组合(比如FTP如何转换行)结局)。

因此,为了解决这个问题,人们将二进制数据编码为字符。 Base64是这些类型的编码之一。为什么64?因为您通常可以依赖于许多字符集中存在的相同64个字符,并且您可以合理地确信您的数据最终会在电汇的另一端不受损坏。

致谢:@Dave Markle

用法:<?php $encodedVar = base64_encode($var); ?>

答案 1 :(得分:0)

这解决了屏蔽ID的问题,但没有按照您要求的具体方式进行。

您可以使用表单中的按钮(看起来就像使用正确的CSS链接)并发布它:

<form method="POST" action="userprofile.php">
    <input name="id" type="hidden" value="1"><!-- holds id -->
    <button type="submit">View profile</button>
</form>

确保userprofile.php接受POST。