簡體   English   中英

如何防止查詢字符串值可見

[英]how to prevent querystring values from being visible

我們有一個用於https的應用程序,因此正在傳輸的數據受到保護(或者應該說需要保護),我想知道有關保護/隱藏(或類似)queryString值的信息。 它是一個jQuery / Javascript前端,可通過經典的ASP Web服務使用GET和POST的混合物與數據庫進行通信。 Web服務將JSON發送回客戶端。

我意識到前端代碼可以更改,因此所有內容都可以通過POST傳遞,但是應用程序已完成並經過測試,可以部署。 在查詢字符串中傳遞了一些不應該傳遞的鍵值。 是否有可能做到這一點,使得無法檢查或嗅探querystring值。 URL和querystring一起將提供到原始JSON的直接鏈接。 我們想防止這種情況。 也許有一些jQuery / AJAX功能可以探索。 也許是某些服務器IIS級別的策略? 我想嗅探是在請求到達服務器所在的Web服務站點之前發生的,因此不能選擇某些服務器/ IIS級別的策略。

任何想法/建議都很好,謝謝。

您可以使用HTTP標頭將可見的數據發送到服務器,但仍可以使用更高級的開發人員工具和記錄器進行檢測。 例如, 此答案表示使用jQuery / Javascript(如您所要求的)發送數據而不使用QueryString。

但是,您不能真正阻止客戶端跟蹤這些詳細信息。

我個人建議您使用的解決方案是查看會話狀態。 通過確定對某個會話狀態的有效數據響應范圍,並在該狀態無效或過期時返回null,可以限制對數據的訪問。 可能只是在1次被檢索到之后。 該策略將涉及生成令牌或代碼,這些令牌或代碼在較早的階段從您的服務器中傳出,並在請求有問題的數據時使用。

另一種選擇是使用SSL或加密您的數據並將其放入發布的控件(如文本輸入框)中。 Microsoft在ASP.NET中對其VIEWSTATE采用了類似的過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM