考慮一個假設的銀行應用程序,我們有賬戶和一些管理員組。每個管理員都對某些帳戶擁有修改權限。要保存對帳戶所做的修改,應用程序會在編輯頁面上發送帳戶ID。管理員可以通過使用像fiddler這樣的工具來更改發佈請求。如果他/她將帳戶ID更改爲他/她未被授權的某個帳戶ID。那麼檢測它的最好方法是什麼?如何驗證web應用程序中的回發數據
我應該使用什麼策略來重新驗證每個數據以授權回發?我關心的是更多的是設計,而不是代碼。
換句話說,即使用戶正在改變任何工具的回發請求,應用程序也能夠檢測到真實世界的應用程序如何確保它。
這確實是正確的口頭禪。 +1 – user1429080
感謝您的回覆,我理解客戶端和服務器端數據驗證的重要性。在網頁上驗證數據時這很快,但通常授權規則在數據庫中,如果我必須重新驗證授權,我必須在回發時再次命中db。我之前曾問過錯誤的方法,我的問題是如何重新驗證每一條數據。例如,我可以創建一個guid,在發送guid而不是實際的帳戶ID,並在會話中存儲映射。如果用戶發脾氣,發帖回來,我不會得到實際的帳戶ID。應用程序很安全。 – Arnet11
如果您確實可以確定guid未被篡改,並且guid是您希望防止篡改的唯一方法,那麼可以這樣做。 HMACing GUID是您可以保證的一種方式。不過,我仍然不確定您想要在每個請求上授權。一旦你成功登錄你的框架,爲你做會話管理。有一些會話變量存在,只要她登錄,就存儲用戶的授權/訪問級別。每次請求時都要確保使用內存會話變量驗證授權/訪問。 – CodeExpress