问:发布选项
我想问如果在Web应用程序发布过程中发布我的服务器上的.cs
和.aspx
文件视为一种不好的做法,可能会导致安全违规或不?
因为有时我必须这样做,因为报告文件没有发布或者css文件无法正常工作。
当使用这些的每个选项:
运行该应用程序只需要文件。
所有项目文件。
源项目文件夹
问:发布选项
我想问如果在Web应用程序发布过程中发布我的服务器上的.cs
和.aspx
文件视为一种不好的做法,可能会导致安全违规或不?
因为有时我必须这样做,因为报告文件没有发布或者css文件无法正常工作。
当使用这些的每个选项:
运行该应用程序只需要文件。
所有项目文件。
源项目文件夹
这可能是一个误用原理,但我总是想到principle of least privilege。由是,我的意思是:
如果这些问题的答案是否定的,那么我发布使用只需要文件运行此应用程序。
我曾经犯过使用“源项目文件夹中的所有文件”发布网站的错误,因为我需要从我使用的插件部署一堆.css和.js文件,但不知道如何快速将这些文件包含在我的Web项目中。但是,只要我看到我的所有源代码都显示在我的生产文件夹中,我就立即将发布选项切换回“仅需运行此应用程序的文件”,并部署删除目标文件夹中的所有文件。然后,我环顾四周,想办法将所有文件包含在不在我的项目中的文件夹中,因此我一直很开心。
说实话,即使我的用户需要查看某种类型的代码,我也会考虑在我发布任何网站上的.cs文件副本之前编写一个quine。人们有不同的对互联网安全的意见,但我常常想起这句话从基因斯帕福德的:
唯一真正安全的系统是一个断电,铸混凝土块和密封在铅衬房间里有武装警卫 - 即使如此,我仍然怀疑。
如果环顾这里,您会发现用户试图安全地加密/解密连接字符串,将数据安全地存储在其程序(或数据库)中的各种问题,并尝试尽力让任何人 - 即使是他们最信任的用户 - 也无法获得他们不应该拥有的访问权限。
由于恶意用户试图访问服务器上的文件的可能性不大,我可以告诉你,恶意用户访问我的服务器上的文件要困难得多,因为这些文件不会我的服务器上不存在。
所有文件确保你的IIS设置意味着.cs
文件没有公开提供。这应该与任何敏感或非公开的文件类型相同,例如.config
。
.aspx文件包含您的标记,因此通常可以公开发布和公开发布。
@Downvoter,这个答案有什么问题? – jwiscarson 2011-11-29 15:33:01