1

假設我希望我的網站的訪問者能夠填寫一個長表單。他們不需要填寫它來使用該網站,但如果他們想向我發送一個故事,他們需要填寫它。所以,他們中的一些人會希望這樣做,有些人不會。該表格非常大,因此訪客可能希望將其留爲半填充狀態,稍後再回來完成。爲了使訪問過程儘可能簡單,我希望他只需點擊「創建故事」鏈接,即可將訪問者重定向到自動生成的網址,如www.mysurveys.com/7Bs3h4vSWEe。在這裏,訪問者使用他的表單,當他想保存時單擊「保存」,以便稍後返回來完成它。表單數據以其生成的ID保存在數據庫中。當訪問者認爲表單填寫正確並完成後,他點擊「發送審覈」,然後表單發送給我。使用自動生成的URL作爲一種密碼

問題是:安全性如何使用這個自動生成的URL作爲用戶的唯一憑據?我想任何嗅探器都可以很容易地讓訪問者用來填寫表單。如何使這樣的過程儘可能簡單?有什麼方法可以讓它更安全一些?我知道我可以使用標準的用戶註冊模式來做到這一點,但我想讓它變得更簡單。

回答

1

這個ID很像有一個用戶的會話ID,在這個意義上說它不是妥協。一個區別是會話ID應該總是過期。如果擔心安全問題,則應使用HTTPS來防止竊聽。

此url值應爲Cryptographic Nonce。你也應該考慮蠻力。如果有人猜測許多不存在的密鑰,請用驗證碼提示他們。

1

這並不安全,但嗅探基本上是唯一的攻擊,除非攻擊者不關心他們獲得的URL,否則他們將不得不針對他們的受害者。

我不會將此用於例如財務信息或第三方機密信息,但對於低風險信息,它可能沒問題。

編輯:我忽略了蠻力,但也有同樣的情況,並且其他答案顯示,有一些保護措施,如captcha。