2013-04-30 48 views
0

我在加密url參數上苦苦掙扎。我有例如以下網址:用小寫字母編碼url參數

http://www.domain.com/show_user.php?uid=45&s=photos

http://www.domain.com/show_user.php?uid=454&s=information

現在我不希望用戶看到的參數爲「uid」和「S」平原值,所以我加密他們BASE64_ENCODE。

http://www.domain.com/show_user.php?uid=NDU=&s=cGhvdG9z

http://www.domain.com/show_user.php?uid=NDU0&s=aW5mb3JtYXRpb24=

但現在我有,我有在URL中一些大寫字母的問題。我在我的錯誤日誌,我覺得這是通過請求只有小寫字母的URL導致的錯誤:

http://www.domain.com/show_user.php?uid=ndu=&s=cghvdg9z

這就導致了一個錯誤,因爲字符串不能再被解密。

這顯然不是一個非常聰明的解決方案來加密url中的參數。你會建議什麼?你使用什麼加密方法?哪一個只創建小寫字母?

我已經想非常感謝你提前爲任何幫助:)

最好的問候,

弗雷迪

+5

base64編碼是**不是**加密 – 2013-04-30 14:44:56

+2

任何可能對這些URL值感興趣的人都將識別base64 *編碼*並將在心跳中對其進行解碼。任何人都不會在意。你爲什麼要這樣做? – deceze 2013-04-30 14:46:44

+0

只是好奇:'在我的錯誤日誌中,我發現錯誤是由請求只有小寫字母的網址造成的 - - 這些錯誤是什麼? – raidenace 2013-04-30 14:47:28

回答

0

必須有代碼中的某處strtolower(),地址不小寫他們自己。檢查你生成這些編碼字符串的代碼。

此外 - 正如在該評論中提到的,它不是加密。從功能上來說,這實際上是需要加密的,還是隻是模糊了?

+0

這應該是作爲評論發佈的,而不是答案。 – dnLL 2013-04-30 14:51:30

+0

我同意並不同意這一點,@dnLL。不,它不提供確切的特定代碼。是的,它確實解決了沒有BS的OP問題。它可能是推測性的,但它很直接,Q:「我的代碼由於小寫編碼失敗」A:「停止讓你的URL小寫。」只是我的2美分! – 2013-04-30 14:56:25

0

如果你只有這兩個參數,我會建議你自己寫一個編碼&編碼函數。您也可以將所有參數壓縮到一個,然後使用拆分字符串函數再次解碼。

0

如果此信息在某種程度上是您不想共享的祕密,請創建表以將某些ID映射到此信息,然後從這些條目生成頁面。但是你對編碼的需求還不清楚,所以請詳細說明。