我一直致力于ASP.net项目,之前,我对“网站项目”和“Web应用程序项目”一无所知。我认为两者都是一样的,所以我选择了网站,现在我希望我能够使用命名空间。
反正。现在,我需要在所有页面中使用一些全局函数和变量。所以我认为唯一的方法是在App_code目录中创建一个类,并通过实例化一个需要的对象来使用它的函数。这是唯一的出路,对吗?
我注意到我只能保持课程及其功能公开,甚至不受保护。我只是想知道在使用公开的课程时是否存在任何安全漏洞。谁能抛出一些颜色?
感谢您的时间。
答案 0 :(得分:1)
这个特定主题的MSDN documentation实际上非常好:
App_Code文件夹的安全性
App_Code文件夹中代码的安全问题基本上是 与Bin文件夹中的代码相同 - 代码被编译成一个 在运行时组装。一个缓解因素是你可以阅读 App_Code文件夹中文件的源代码。但是,如果你不这样做 完全理解代码,它仍然可以代表安全风险。 因此,请像处理一样处理App_Code文件夹中的源代码 来自同一来源的编译代码。
只有当有人有权访问您的App_Code文件夹(通常不应该访问)时,才能解读源代码。
答案 1 :(得分:0)
访问者(公共,受保护,私有等)与安全性无关。他们确定范围。
你做了什么 - 实用程序类的公共方法很常见。 .NET框架充满了它们。例如,查看System.IO.File类或System.Text.RegularExpressions.Regex类。没有安全漏洞。