安全客户端应用程序 (ADO.NET)
更新:November 2007
应用程序通常由多个部件组成,所有这些部件均不能包含漏洞,否则可能导致数据丢失或以其他方式危害系统。在攻击者可访问数据或系统资源之前将其阻止,以此可创建安全的用户界面来防止出现许多问题。
验证用户输入
在构建访问数据的应用程序时,除非能够证明其不为恶意输入,否则您应该假定所有用户输入均为恶意输入。如果未能实现此目的,则可能会使您的应用程序易于受到攻击。.NET Framework 包含的类可帮助您约束输入控件的值的域,如限制可输入字符的数目。使用事件挂钩,您可以编写用于检查值的有效性的程序。可验证和强类型化用户输入数据,从而限制应用程序对脚本和 SQL 注入攻击的公开程度。
安全说明: |
---|
您还必须验证数据源和客户端应用程序中的用户输入。因为攻击者可能选择避开应用程序,而直接攻击数据源。 |
安全性和用户输入
描述如何处理与用户输入相关的细微和潜在危险缺陷。在 ASP.NET 网页中验证用户输入
概述如何使用 ASP.NET 验证控件验证用户输入。Windows 窗体中的用户输入
提供用于验证 Windows 窗体应用程序中鼠标和键盘输入的链接和信息。.NET Framework 正则表达式
描述如何使用 Regex 类检查用户输入的有效性。
Windows 应用程序
过去,Windows 应用程序通常使用完全权限运行。通过使用代码启用安全性 (CAS),.NET Framework 可提供限制在 Windows 应用程序中执行代码的基础结构。但是,仅使用 CAS 是不足以保护应用程序的。
Windows 窗体安全性
讨论如何保证 Windows 窗体应用程序的安全并提供相关主题的链接。Windows 窗体和非托管应用程序
描述如何与 Windows 窗体应用程序中的非托管应用程序进行交互。Windows 窗体应用程序的 ClickOnce 部署
描述如何在 Windows 窗体应用程序中使用 ClickOnce 部署,并讨论安全含义。
ASP.NET 和 XML Web Services
ASP.NET 应用程序通常需要限制对 Web 站点某些部分的访问,并提供其他数据保护机制和站点安全机制。这些链接可提供用于保护 ASP.NET 应用程序的有用信息。
XML Web services 能够提供可由 ASP.NET 应用程序、Windows 窗体应用程序或其他 Web 服务使用的数据。您需要管理 Web 服务自身的安全性以及客户端应用程序的安全性。
有关更多信息,请参见下列资源。
资源 |
说明 |
---|---|
讨论如何保证 ASP.NET 应用程序的安全。 |
|
讨论如何实现 ASP.NET Web 服务的安全性。 |
|
讨论如何抵御脚本攻击,该攻击会尝试将恶意字符插入网页。 |
|
常规安全信息和指向更多讨论的链接, |
远程处理
使用 .NET 远程处理,您可以轻松构建广泛分发的应用程序,无论应用程序组件全部位于一台计算机上还是分布于世界各地。您可以在同一台计算机上或可通过其网络访问的任何其他计算机上构建使用其他进程中对象的客户端应用程序。您还可以使用 .NET 远程处理与同一进程中的其他应用程序域进行通信。
资源 |
说明 |
---|---|
讨论如何配置远程处理应用程序以避免出现常见问题。 |
|
描述身份验证和加密以及与远程处理相关的其他安全主题。 |
|
描述与受保护对象和应用程序域交叉相关的安全问题。 |