Web安全解决方案

  • 什么是 .NET Framework 安全性?

    .NET Framework 提供了用户和代码安全模型,允许对用户和代码可以执行的操作进行限制。要对基于角色的安全性和代码访问安全性进行编程,可以从 System.Security 命名空间中使用类型。.NET Framework 还提供了System.Security.Cryptography 命名空间,公开对称和不对称的加密与解密、散列、随机数生成、数字签名支持等。

    要理解 .NET Framework 安全性基本设置,请参阅“.NET 安全基础”单元。

  • 如何编写安全托管代码

    用强名称对程序集进行数字签名,使它们不能随意改动。同时,在结合使用强名称的程序集和 ASP.NET 时,需要注意强名称的问题。通过遵守坚固的面向对象设计原理,减小程序集受攻击面,然后使用代码访问安全性,进一步限制哪些代码可以调用您的代码。使用结构化的异常处理方法防止敏感信息蔓延到当前信任边界之外,并开发更加可靠的代码。避免常规问题,特别是输入文件名和 URL 的问题。

    有关如何提高托管代码安全性的信息,请参阅“构建安全的程序集”单元。有关如何有效使用代码访问安全性,以进一步提高安全性的详细信息,请参阅“代码访问安全实践”单元。有关执行托管代码复查的信息,请参阅“Security Code Review”单元。

  • 如何安全地处理异常

    不要显示内部系统或应用程序的详细信息,如堆栈跟踪、SQL 语句片断等。确保这类信息不被允许蔓延到最终用户或当前信任边界以外。

    在异常事件中安全地失败,确保应用程序拒绝访问,而且没有停留在不安全的状态下。不记录敏感或私有数据,如密码,以免造成危害。在记录或报告异常时,如果用户的输入包括在异常消息中,对其进行验证或清理。例如,如果返回一个 HTML 错误消息,您应该对输出进行编码,以避免脚本注入。

    有关更多信息,请参阅“构建安全的程序集”和“构建安全的 ASP.NET 页和控件”两单元的“Exception Management”部分。

  • 如何执行托管代码的安全复查

    使用分析工具(如 FxCop)分析二进制程序集,确保它们符合 .NETFramework 设计准则。修复分析工具识别出的所有安全缺陷。使用文本搜索工具扫描硬编码机密(如密码)的源代码库。之后,复查具体的应用程序元素,包括 Web 页面和控件、数据访问代码、Web 服务、服务组件等。要特别注意 SQL 注入和跨站点脚本编写缺陷。

    还要对使用敏感的代码访问安全技术进行复查,如链接声明和断言。有关更多信息,请参阅“Code Review”单元。

  • 如何保证开发人员工作站的安全性

    您可以使用一套方法保证工作站的安全性。保证您的帐户、协议、端口、服务、共享、文件与目录和注册表的安全。最重要的是,保持您的工作站具有当前最新的补丁与更新。如果您在 Microsoft Windows_ XP 或 Windows 2000 上运行 Internet 信息服务 (IIS),则运行 IISLockdown。IISLockdown 应用安全的 IIS 配置,并安装 URLScan Internet 安全应用程序编程接口 (ISAPI) 筛选器,该筛选器用于检测和拒绝潜在的恶意 HTTP 请求。例如,您可能需要修改默认 URLScan 的配置,这样您就可以在开发和测试期间调试 Web 应用程序。

    有关更多信息,请参阅本指南的“如何做”部分的“如何保证开发人员工作站的安全”。

  • 如何结合使用代码访问安全性和 ASP.NET

    使用 .NET Framework 版本 1.1,您可以在 Machine.config 或 Web.config 中设置 ASP.NET 的信任级。这些信任级使用代码访问安全性,以限制 ASP.NET 应用程序可以访问的资源,例如文件系统、注册表、网络、数据库等。此外,它们还提供了应用程序隔离。

    有关从 ASP.NET 使用代码访问安全性、开发部分信任的 Web 应用程序和沙箱化特权代码的详细信息,请参阅“在 ASP.NET 中使用代码访问安全”单元。

    有关代码访问安全性的基础的详细信息,请参阅“代码访问安全实践”单元。

    有关在开发托管代码时需要考虑的代码访问安全性问题的详细信息,请参阅“构建安全的服务组件”、“构建安全的 Web 服务”、“构建安全的远程组件”和“构建安全的数据访问”等单元的“代码访问安全注意事项”部分。

  • 如何编写具有最低权限的代码

    可以限制代码能够执行的操作,这与运行该代码所使用的帐户无关。通过配置策略或如何编写代码,您可以使用代码访问安全性来限制代码允许被访问的资源和操作。如果代码不需要访问某种资源或执行某种敏感操作(如调用非托管代码),可以使用声明性安全属性来确保代码不会被管理员授予这种权限。

    有关更多信息,请参阅 “代码访问安全实践”单元。

  • 如何限制文件 I/O

    可以使用代码访问安全性来限制程序集访问文件系统区域和执行 I/O 的能力。例如,可以限制某个 Web 应用程序,使它只能在它的虚拟目录层次结构下执行文件 I/O。您也可以将文件 I/O 限制在特定的目录上。这可以通过编程或配置代码访问安全策略来完成。

    有关更多信息,请参阅“代码访问安全实践”单元的“文件 I/O”和“在 ASP.NET 中使用代码访问安全”单元的“媒体信任”。有关配置代码访问安全策略的详细信息,请参阅“如何使用 CAS 策略约束程序集”。

  • 如何防止 SQL 注入

    使用数据访问的参数化存储过程。使用参数要确保输入值的类型和长度都得到检查。参数也被视作安全文本值和数据库内的不可执行代码。如果不能使用存储过程,就使用带有参数的 SQL 语句。不要通过连接 SQL 命令和输入值来构建 SQL 语句。还要确保应用程序使用具有最低权限的数据库登录,以限制它在数据库中的功能。

    有关 SQL 注入的详细信息和进一步对策,请参阅“构建安全的数据访问”单元的“SQL 注入”。

  • 如何防止跨站点脚本编写

    对输入类型、长度、格式和范围进行验证,并对输出进行编码。如果输出包括输入(包括 Web 输入),则对输出进行编码。例如,对窗体字段、查询字符串参数、cookie 等进行编码,以及对从无法假定其数据是安全的数据库(特别是共享数据库)中读取的输入进行编码。对需要以 HTML 返回客户端的自由格式输入字段,对输出进行编码,然后选择性地清除在许可元素(如用于格式化的 <b> 或 标记)上的编码。

    有关更多信息,请参阅“构建 ASP.NET 页和控件”单元的“跨站点脚本编写”。

  • 如何管理机密

    最好寻找避免存储机密的替代方法。如果必须存储它们,则不要在源代码或配置文件中以明文的方式存储。使用数据保护应用程序编程接口 (DPAPI) 加密机密,以避免关键的管理问题。

    有关更多信息,请参阅“构建安全的 ASP.NET 页和控件”单元的“敏感数据”、“构建安全的程序集”单元的“加密”和“保证 ASP.NET 应用程序的安全”单元的“Aspnet_setreg.exe 与进程、会话和标识”。

  • 如何安全地调用非托管代码

    特别注意传递给非托管 API 和非托管 API 传递出的参数,防止潜在的缓冲区溢出。验证输入和输出字符串参数的长度,检查数组边界,并特别小心文件路径的长度。在断言非托管代码权限之前,使用自定义权限声明保护对非托管资源的访问。如果用 SuppressUnmanagedCodeSecurityAttribute 提高性能,请小心使用。

    有关更多信息,请参阅“构建安全的程序集”和“代码访问安全实践”两单元中的“非托管代码”部分。

  • 如何执行安全的输入验证

    对输入进行限制、拒绝和清理,因为验证已知有效类型、模式和范围的数据要比通过查找已知错误字符来验证数据容易得多。验证数据的类型、长度、格式和范围。对字符串输入,请使用正则表达式。要使用执行类型检查,则使用 .NET Framework 类型系统。有时候,可能需要对输入进行清理。一个例子是对数据编码,以保证其安全性。

    有关输入验证设计策略,请参阅“设计安全 Web 应用程序的指导方针”单元的“输入验证”。有关实现细节,请参阅“构建安全的 ASP.NET 页和控件”、“构建安全的 Web 服务”、“构建安全的远程组件”和“构建安全的数据访问”单元的“输入验证”部分。

  • 如何保证窗体身份验证的安全性

    划分 Web 站点,隔离匿名用户可以访问的公共可访问页面和需要身份验证访问的限制性页面。使用安全套接字层 (SSL) 来保护窗体身份验证凭据和窗体身份验证 cookie。限制会话生存时间和确保身份验证 cookie 只在 HTTPS 上传输。对身份验证 cookie 加密,不要在客户端计算机上保留它,也不要将其用于个性化目的;对个性化使用单独的 cookie。

转载于:https://www.cnblogs.com/mengzhu/p/4763828.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11款新品,一切为了落地!商汤:普惠AI的时代,来了

来源&#xff1a;网易智能北京时间5月15日&#xff0c;商汤科技在京举办一年一度的人工智能峰会&#xff0c;发布了11款新品&#xff0c;包含6款硬件和多个平台的全面升级。商汤科技CEO徐立在开场演讲中以清明上河图为例&#xff0c;认为人工智能技术的普及正在谱写新时代的人类…

图像处理 --- 二、数字图像处理基础

1. 色度学基础 电磁光波谱组成: 1.1 三基色原理 人眼的视网膜上存在大量能在适当亮度下分辨颜色的锥状细胞&#xff0c;它们分别对应红、绿、蓝三种颜色&#xff0c;即分别对红光、绿光、蓝光敏感。由此&#xff0c;红&#xff08;R&#xff09;、绿&#xff08;G&#xff09;…

Bug调试(lldb)

原文网址&#xff1a;http://www.cnblogs.com/Twisted-Fate/p/4760156.html 今天博主有一些Bug调试的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. Xcode的Bug调试方法大概有以下几种: 1.断点,全局断点,条件断点配合Nslog找出Bug 2.静态分析工具:Analyze,静态检测内…

解密!谷歌这样搞定美军世纪难题,从眼科诊断到无人驾驶

来源&#xff1a;智东西导语&#xff1a;谷歌AI部门负责人Jeff Dean&#xff0c;在开发者大会中详细介绍了该公司如何利用AI技术解决科学问题。5月14日消息&#xff0c;在加利福尼亚州山景城举行的谷歌年度I / O开发者大会上&#xff0c;谷歌研究小组高级研究员、谷歌人工智能部…

CSDN中图片缩放与居中

1. 直接上传图片 代码示例&#xff1a; ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210628233911771.png?x-oss-processimage/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYl9mZW5n,size_16,color_FFFFFF,t_70#pic_cent…

tensorflow中创建多个计算图(Graph)

转自https://blog.csdn.net/dcrmg/article/details/79028032 tf中可以定义多个计算图&#xff0c;不同计算图上的张量和运算是相互独立的&#xff0c;不会共享。计算图可以用来隔离张量和计算&#xff0c;同时提供了管理张量和计算的机制。计算图可以通过Graph.device函数来指…

文体中心场地预订小程序开发笔记-功能设计

首页 1.推荐活动&#xff1a; 展示最新、最受欢迎或即将举办的文体活动。2.新闻与公告&#xff1a; 提供关于文体中心的最新新闻和通知。 活动浏览与报名 3.活动列表&#xff1a; 用户可以查看文体中心的各类文体活动&#xff0c;包括体育赛事、文艺演出、培训课程等。4.活动…

【剑指offer】面试题40:数组中只出现一次的数字

题目&#xff1a; 一个整型数组里除了两个数字之外&#xff0c;其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 思路&#xff1a; 因为只有两个只出现一次的数字&#xff0c;所以所有数字进行异或之后得到值res一定不是0.这样&#xff0c;res中其中至少1bit不是…

图像处理 --- 4.1 图像增强的点运算

1. 图像增强的点运算 1.1 概念 图像增强&#xff1a; 采用一系列计数改善图像的视觉效果&#xff0c;或将图像转换成一种更适合于人或机器进行分析和处理的形式。 1.2 图像增强的主要方法 按照图像的作用域来说&#xff1a; 空间域增强&#xff1a;直接对图像各种像素进行…

5G临时牌照或将发放,商用大幕已经开启

报告来源&#xff1a;广发证券、华泰证券、网络资料前 言&#xff1a;5月17日是世界电信日&#xff0c;业内认为这是5G临时牌照发放的重要时间点。日前中国联通在活动上表示&#xff0c;北京联通已率先开展面向商用的5G规模试验&#xff0c;近期北京将开始5G的试商用。这侧面印…

大三下 期中试卷

自己做的&#xff0c;仅供参考。对错自负 湛江师范学院2014&#xff0d;2015学年度第 2学期 期中试卷 科目&#xff1a;LINUX网络服务器管理 题号 一、 操作 二、 C 编程 三、 shell编程 四、 辩论 总分 评分 复核 分值 25 25 25 25 100 蔡广基 得分 得分…

tf.nn.dropout

转自&#xff1a;https://blog.csdn.net/huahuazhu/article/details/73649389 tf.nn.dropout是TensorFlow里面为了防止或减轻过拟合而使用的函数&#xff0c;它一般用在全连接层。 Dropout就是在不同的训练过程中随机扔掉一部分神经元。也就是让某个神经元的激活值以一定的概…

常用照片尺寸

常用照片尺寸对照表&#xff1a;

无人驾驶中用到的八大坐标系

本文来源&#xff1a;智车科技第一个叫作eci地心惯性坐标系&#xff08;如图&#xff0c;红色o-xyz坐标系所示&#xff0c;低新惯性坐标系&#xff08;i系&#xff09;的原点位于地球原点&#xff0c;z轴沿地轴指向北极&#xff0c;x轴和y轴位于赤道平面内&#xff0c;与z轴满足…

np.random.get_state()

转自https://blog.csdn.net/Strive_For_Future/article/details/81210907 state np.random.get_state() 功能&#xff1a;获取随机生成器 np.random的状态 作用&#xff1a;常与np.random.set_state() 搭配使用。使随机生成器random保持相同的状态&#xff08;state&#x…

c#之内置类型

内置类型&#xff1a;就是.NET Framework System命名空间中写好的类型。 下面看看C#都有哪些内置类型 上面的内置类型&#xff0c;除了string和object外&#xff0c;其他的都被称作简单类型。也可以把左边的看作C#类型的关键字&#xff0c;左边是类型的别名&#xff0c;关键字和…

图像处理 --- 三、图像变换 3.1图像变换的基本概念

1. 图像变换的基本概念 1.1 什么是变换 《线性代数》中&#xff1a; 线性空间中&#xff0c;如果x是一个向量&#xff0c;U 是一个矩阵&#xff0c;则&#xff1a;y U x &#xff0c;定义了向量 x 到向量 y 的一个线性变换。 如果 n 阶矩阵 U 满足: UT U I &#xff0c;称…

tf.parse_single_example

parse_single_example(serialized,features,nameNone,example_namesNone ) 参数&#xff1a; serialized&#xff1a;一个标量字符串张量&#xff0c;单个序列化的例子。features&#xff1a;一个 dict&#xff0c;映射功能键到 FixedLenFeature 或 VarLenFeature值。name&am…

全球5G专利能力榜T0P15出炉:谁是冠军?

来源&#xff1a;通信产业网第50个世界电信和信息社会日&#xff08;5月17日&#xff09;即将到来。在5G即将商用的关口&#xff0c;今年&#xff0c;世界电信日的主题定调为“缩小标准化差距”。实际上&#xff0c;标准专利对通信技术发展起着至关重要的作用&#xff0c;它不仅…

对于软件工程的理解

对软件工程的理解&#xff1a; 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。 不懂的问题&#xff1a; 1.软件工程是否需要很强的数学思维&#xff1f; 2.做软…