2015-11-20 19 views
0

我只想傳遞一些查詢字符串變量,像下面這樣的URL。但通過這種方式,任何人都可以看到傳遞變量。我可以使用base64_encode()base64_decode()方法,但這些方法也不安全。因爲任何人都可以扭轉它。如果有人有最好的解決方案,請幫助我。如何以安全的方式傳遞查詢字符串變量(如ID,名稱等..)與URL?

header('Location: http://www.example.com?id='.$id); 
or 
header('Location: http://www.example.com?name='.$name); 
+0

您可以通過安全的方式意味着你在找什麼加密? –

+0

您應該在內部代碼中處理這些值,而不是在URL中。這取決於您在收到時如何安全地處理這些值。即在將數據插入數據庫之前對收到的值進行消毒,等等...... – Rehmat

+0

您可以使用一些安全的哈希方法。 –

回答

0

我認爲這是我們的最佳的安全解決方案..

<?php 
/* 
* PHP mcrypt - Basic encryption and decryption of a string 
*/ 
$string = "Some text to be encrypted"; 
$secret_key = "This is my secret key"; 

// Create the initialization vector for added security. 
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND); 

// Encrypt $string 
$encrypted_string = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $secret_key, $string, MCRYPT_MODE_CBC, $iv); 

// Decrypt $string 
$decrypted_string = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $secret_key, $encrypted_string, MCRYPT_MODE_CBC, $iv); 

echo "Original string : " . $string . "<br />\n"; 
echo "Encrypted string : " . $encrypted_string . "<br />\n"; 
echo "Decrypted string : " . $decrypted_string . "<br />\n"; 
?> 

輸出會像下面:

Original string : Some text to be encrypted 
Encrypted string : –LÁ`b]!üƒN{Iç&|«kÿÅLèëÉ°Xp 
Decrypted string : Some text to be encrypted 
相關問題