[英]Gracefully handling potentially dangerous Request.Form values in Umbraco CMS
我即將啟動我的第一個Umbraco網站,但正在最后一刻進行測試。
我嘗試成為一名“黑客”,並在搜索表單和聯系表單中輸入了危險的東西,.NET阻止了該錯誤,並顯示了一個大的黃色錯誤頁面和以下錯誤:
A potentially dangerous Request.Form value was detected from the client (Subject="test <b> 'haha").
我研究了此錯誤,並找到了許多解決方案,人們在其中發布了禁用此錯誤的方法,但我擔心如果這樣做,它將允許發布惡意數據,因為我(不知道)沒有適當的位置來安全處理它。
我正在使用uContactor作為聯系表單,並且搜索功能基於此處的教程。
在前幾天使用經典ASP開發的過程中,這只是對請求進行HTML編碼的一種情況(並替換了一些頑皮的字符,例如<和>等),但我希望您能從中找到一些有關處理此類問題的最佳方法的建議ASP.NET MVC / Umbraco網站,因為它對我來說仍然很新。
(我不想阻止人們輸入這些東西,只是為了網站可以安全優雅地處理它們)。 謝謝。
此錯誤檢查實際上發生在Umbraco之上的級別。 在Umbraco運行之前,ASP.Net會對此進行處理。
您可以根據自己的發現將其關閉,但是網站是否會正確處理潛在的危險輸入將取決於頁面對數據的處理方式以及它們如何存儲/呈現數據。
您可以逐頁關閉它,這樣您就可以在可能要提交無效字符的頁面上啟用它(例如,如果您的字段接受HTML)。 我想說這可能比完全禁用它更好。 但這確實意味着您要減輕任何危險的輸入。
這里的問題向您展示了如何為MVC中的特定控制器方法禁用請求驗證:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.