我想屏蔽在PHP中通过URL传递的ID。 例如,我想转换它:
<a href="userprofile.php?id="26">
之类的东西
<a href="userprofile.php?ID=762378207367">
答案 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。