我想掩蓋在PHP中通過URL傳遞的ID。 比如我想要改造這個:如何掩蓋在PHP中通過URL傳遞的id?
<a href="userprofile.php?id="26">
在類似
<a href="userprofile.php?ID=762378207367">
我想掩蓋在PHP中通過URL傳遞的ID。 比如我想要改造這個:如何掩蓋在PHP中通過URL傳遞的id?
<a href="userprofile.php?id="26">
在類似
<a href="userprofile.php?ID=762378207367">
的Base64解碼/編碼將做的工作。 What is base 64 encoding used for?
當您想要通過網絡發送一些二進制數據時,通常不會通過以原始格式通過線路傳輸位和字節來完成。爲什麼?因爲有些媒體是爲流式文本製作的。你永遠不知道 - 有些協議可能會將你的二進制數據解釋爲控制字符(如調制解調器),或者你的二進制數據可能被搞砸了,因爲底層協議可能認爲你已經輸入了一個特殊的字符組合(如FTP轉換線結局)。
爲了解決這個問題,人們將二進制數據編碼爲字符。 Base64是這些類型的編碼之一。爲什麼64?因爲通常可以依靠許多字符集中存在的相同的64個字符,並且您可以合理地確信您的數據最終將在電線的另一端完好無損。
學分:@戴夫馬克爾
用法:<?php $encodedVar = base64_encode($var); ?>
這解決了屏蔽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。
by [encrypting](http://stackoverflow.com/questions/tagged/encryption+php)它。 – hassan
創建用於加密的隨機密鑰並將其存儲在會話中。用它來加密和解密事物。 – Dimi
我認爲這個問題太廣泛了,因爲它真的取決於你的應用程序,你需要這個ID的安全程度,等等。你確實可以加密,或者你可以爲每個用戶生成一個隨機ID並將它存儲在數據庫等。 –