2016-03-30 19 views
0

我有視圖模型類:項目中的DummyClass.cs:ViewDataModels。 運行MVC Razor應用程序被命名爲MyWebApp。在這個Web應用程序我已經查看/Home/Index.cshtml並與隱藏字段的形式哪裏是一個公開DummyClass AssemblyQulifiedName的代碼行MVC在View中公開類和程序集名稱有哪些風險?

'@typeof(DummyClass).AssemblyQualifiedName' 

結果

ViewDataModels.DummyClass, ViewDataModels, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 

所以在文章中,我可以通過反射獲得代表模型的類類型。 這裏有什麼風險?有沒有解決辦法?例如:字符串的雙向散列?

+0

也許我在這裏要脫離主題,但這聽起來像是一個奇怪的願望?在MVC中,Controller Action應該指定傳遞給它的類型:'public ActionResult DoSomething(DummyClass myData)',然後你只需(必須)確保View/the Form遵守這個類型。這是MVC的基本前提,模型綁定和驗證是免費提供的。 –

+0

是MVC概念使得直接並將其設置爲該視圖的模型可以解決此問題。但在這種情況下,類的名稱可以有不同的值,所以更乾淨的解決方案可以是枚舉或基類,但我有點不舒服枚舉類映射。 – user2977027

回答

1

沒有風險。 您無法隱藏您的代碼。有很多好的工具可以幫助你反彙編dll,以至於你再也無法混淆了任何東西。

混淆你的代碼只會阻礙最隨意的人。隨着視頻遊戲產業的發展很久以前,沒有任何代碼是安全的。

相關問題