我一直在做ASP.net项目,之前,我对"网站项目"one_answers"Web应用程序项目"一无所知。我认为两者是一样的,所以我选择了网站,现在我希望我已经做了其他的工作,能够使用名称空间。
不管怎样。现在,我需要在所有页面中使用一些全局函数和变量。因此,我认为唯一的方法是在App_code目录中创建一个类,并通过在需要的地方实例化对象来使用它的函数。这是唯一的出路,对吧?
我注意到,我只能公开类及其函数,甚至不能保护它们。我只是想知道使用公共类是否存在安全漏洞。有人能扔一些颜色吗?
谢谢你抽出时间。
关于这个特定主题的MSDN文档实际上非常好:
App_Code文件夹的安全性
App_code文件夹中代码的安全问题本质上是与Bin文件夹中的代码相同--代码被编译成程序集。一个缓解因素是,您可以阅读App_code文件夹中文件的源代码。但是,如果您没有完全理解代码,它仍然可能代表安全风险。因此,对待App_code文件夹中的源代码就像对待从同一来源编译的代码。
只有当你有人可以访问你的App_code文件夹(他们通常不应该访问)时,阅读源代码的问题才重要。
访问器(public、protected、private等)与安全无关。它们决定了范围。
您所做的-实用程序类上的公共方法是非常常见的。.NET框架中充满了它们。例如,查看System.IO.File类或System.Text.RegularExpressions.Regex类。不存在安全漏洞。