我有一些情況下需要將URL放入網頁中,點擊該網頁時,會觸發服務器上的一些處理代碼。我當然希望防止隨意壞人從構建自己的網址,並做的事情,他們不應該,所以我有這個計劃的工作,從東西我已經看到在其他網站上逆向工程:正確使用md5祕密來確認URL請求的正確性?何時清除祕密?
- 化妝唯一的字符串(我使用MD5,但無疑還有其他選項)
- 把這個字符串轉換成適當命名的會話變量
- 包含在URL字符串,可能像
/do_this/123/FABDYFYEYYDFBDHDFS
- 的處理代碼運行時,從url中提取字符串並將其與會話變量的值進行比較 - 如果匹配,我們應該是安全的繼續。如果沒有,請做其他事情。
對於我來說,除了用戶的瀏覽器的會話存儲空間中沒有更長的相關會話變量的部分之外,這對我來說還是行得通的。有些情況下,我可以(並且確實)在完成我正在做的事情後刪除會話變量,但並非總是如此。我可能會更聰明地找到機會來清除舊的變量,但問題似乎一般,以至於可能有更好的方法來做到這一點(即我所提出的可能對任何數字都很愚蠢我沒有想到的原因)。有沒有任何建議可以做出這樣的事情?
如果你可以驗證URL的正確性(就像你在第一頁中所做的那樣,否則如何可以你知道md5的URL?),那爲什麼不在第二頁上計算呢? –
見下文,我認爲 –