我正在使用從鏈接中獲取的參數寫入我的數據庫。將參數寫入數據庫並鏈接加密
考慮以下鏈接:
mywebsite.com/index.php?ud=33&nt=117&g=Yes
如果我的鏈接播放和改變是將數據寫入數據庫錯誤的數據值,有什麼辦法防止這種情況發生的可選途徑?
注意的環節都可以從電子郵件中點擊
我在想什麼的是每封郵件只有一次的作品,但將花費的空間很多的databas一次性認證密鑰,是有更好的方法嗎?
我正在使用從鏈接中獲取的參數寫入我的數據庫。將參數寫入數據庫並鏈接加密
考慮以下鏈接:
mywebsite.com/index.php?ud=33&nt=117&g=Yes
如果我的鏈接播放和改變是將數據寫入數據庫錯誤的數據值,有什麼辦法防止這種情況發生的可選途徑?
注意的環節都可以從電子郵件中點擊
我在想什麼的是每封郵件只有一次的作品,但將花費的空間很多的databas一次性認證密鑰,是有更好的方法嗎?
請記住敏感數據不應該在查詢字符串中。
遵循以下步驟:
1 - 之前寫的鏈接到數據庫中,你應該檢查您的業務規則的一部分,如果參數是一致的,用戶有權訪問它。 2 - 然後,您應該考慮詢問字符串的哪些參數應該是純文本(即存儲在數據庫中的鏈接內)。例如,如果您將實體的ID保存到查詢字符串中併發送到數據庫,則必須考慮是否在提及的實體被刪除的情況下會出現問題。由於您的查詢字符串是純文本,因此不會執行級聯。在這種情況下,最好的方法是將查詢字符串轉換爲數據並將其作爲外鍵而非查詢字符串存儲在數據庫中。然後,您可以通過在應用程序級構建它來恢復完整鏈接。
另一個祕訣:
既然您發送電子郵件的鏈接,就可以轉換成純文本字符串(在你的情況下,ud=33&nt=117&g=Yes
)運行加密算法對所有這一切轉化爲一個加密的字符串。你會有類似mywebsite.com/index.php?c=IJNWEI7we876fWEPOWOKEMF
。它不那麼方便用戶並且不需要玩遊戲。
希望它有幫助。
你可以添加簡單的字符串加密。 – 2013-07-22 03:31:32
[加密Querystring並在PHP中解密它]的可能重複(http://stackoverflow.com/questions/1914763/encrypting-querystring-and-decrypting-it-in-php) – 2013-07-22 03:32:53