HTML.Encode() - 它如何/如何防止 ASP .NET 中的脚本安全问题?

2023-11-22

当我处理用户输入(特别是脚本问题)时,HTML.Encode() 为我提供了哪些安全保护?


请参见Server.HTMLEncode:

HTMLEncode 方法应用 HTML 编码为指定的字符串。这 作为一种快速方法很有用 编码表单数据和其他客户端 在您的应用程序中使用数据之前请求数据 Web应用程序。编码数据 转换潜在不安全的字符 到 HTML 编码的等价物。

如果要编码的字符串不是 DBCS、HTMLEncode 转换字符 如下:

  • 小于号 (<.
  • 大于号 (>) 转换为>.
  • 与号字符 (&) 转换为&.
  • 双引号字符 (") 转换为".
  • 代码大于或等于 0x80 的任何 ASCII 代码字符 被转换为&#<number>, 在哪里 是 ASCII 字符值。

这意味着,如果您要将一些数据转储到请求流,并且该数据是从用户输入的字段保存到数据库的,那么用户将无法说出他们的名字是:

<script type="text/javascript">
    function doSomethingEvil() { /* ... */ }
</script>

在这个例子中,Server.HTMLEncode会编码<, >, and "留下这个的字符:

&lt;script type=&quot;text/javascript&quot;&gt;
    function doSomethingEvil() { /* ... */ }
&lt;/script&gt;

如果在浏览器中呈现,将如下所示:

函数 doSomethingEvil() { /* ... */ } 脚本>

而不是实际执行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML.Encode() - 它如何/如何防止 ASP .NET 中的脚本安全问题? 的相关文章

  • c#/asp.net - 如何捕获“System.Web.HttpException:请求超时”?

    在我的 asp net c 项目中 我使用 iTextsharp dll 从许多 pdf 文档中读取文本 但有时会出现此错误 System Web HttpException 请求超时 但实现它的代码是 public static bool
  • 限制 Django 中的暴力登录攻击 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否有普遍接受的策略来保护 Django 应用程序免受此类攻击 有很多可用的库 例如Django 斧头 Django 防御者 Djan
  • 我可以将 JSON 字符串转换为 JsonResult 吗?

    我在数据库中存储了一些存储的 JSON 字符串 我想将其作为 JsonResult 返回给客户端 我知道 Json object 将对象转换为 JsonResult 但如果我已经将结果存储在字符串中怎么办 我可以将其转换为 JsonResu
  • Asp.net 开源项目作为 C# 的学习源 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 c 中的开源 asp net 最好是 net 2 0 项目 无论是某种商店 CMS 还是其他任何东西 都没有关系 重要的是项目
  • 从钥匙串保存和加载 |斯威夫特[重复]

    这个问题在这里已经有答案了 如何简单地将字符串存储在钥匙串中并在需要时加载 有几种SO解决方案 主要参考Git repo 但我需要最新 Swift 上最小和最简单的解决方案 当然 我不想添加 git 框架来简单地在我的项目中存储密码 有类似
  • Jquery Ajax 调用返回 403 状态

    我有一个 jquery Ajax 调用来实现会话的 keepalive 这个 keepAlive 方法将每 20 分钟调用一次 function keepAlive ajax type POST url KeepAliveDummy asp
  • .tostring() 保留前导零[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 转换对象
  • 如何使用 WebAPI 处理图像

    问题 将图像发布 获取到我的服务有哪些不同的方法 我想我可以在 JSON 中使用 Base 64 文本 也可以保持原生二进制形式 我的理解是 通过将图像转换为文本 包大小会显着增加 如果我发送图像 从 Web 表单 从本机客户端 从另一个服
  • 当客户端连接到“localhost”上的服务时,为什么 System.Net.ServicePoint.ConnectionLimit 使用“7FFFFFFF”(Int32.MaxValue/2147483647)?

    为什么使用 System Net ServicePoint ConnectionLimit 7FFFFFFF Int32 MaxValue 2147483647 当客户端连接到服务时 本地主机 而如果服务在远程计算机上运行 它决定使用 2
  • 为什么 DropDownList.SelectedValue 依赖于 viewstate?

    如果我在我的页面上设置 EnableViewState true ViewStateMode Disabled 然后 页面的视图状态被禁用 除非覆盖 然后 尝试读取 假设控件已在上次转储到屏幕时填充并选择了一个值 MyDDL Selecte
  • Page.AsyncTimeout - 无休止的超时?

    I saw 一个例子 http www webreference com programming javascript rg30 index html of forever iframe实现 彗星模拟 所以我决定测试它 但添加了异步方法 这
  • 密码盒和 MVVM

    我们有以下场景 MVVM 用户界面 用户可以在其中输入密码 实际上是一个PasswordBox 应该做一些工作的服务器 服务器连接到一些需要身份验证的数据库 我已经读过这个关于MVVM中PasswordBox的问题 https stacko
  • 在 PHP 中关闭 session.cookie_secure 的后果

    在安全连接下关闭 PHP 中的 session cookie secure 会带来哪些安全风险 我很想关闭此功能 因为我无法访问从 https 页面到 http 页面的会话数据 风险在于 cookie 数据是通过纯 HTTP 传输的 任何在
  • MVC4 - ContextDependentView - 是什么意思?

    我刚刚开始使用 MVC4 我看到的第一个操作方法有一些新内容 我查了一下互联网 找不到任何关于此的信息 public ActionResult LogOn return ContextDependentView 有谁知道 ContextDe
  • 无法成功启动或连接到 MSBuild.exe 子进程。验证 MSBuild.exe

    我第一次遇到这种情况 运行构建并收到此错误 当我重建其他sln一切正常 错误 1 由于内部故障 构建意外停止 Microsoft Build Exceptions BuildAbortedException 构建已取消 无法成功启动或连接到
  • 在类库项目中使用资源.resx文件

    我在类库项目中使用了资源文件 resx 文件来存储一些错误消息 当我将 resx 文件的 构建操作 设置为 嵌入资源 并部署时 它工作正常 但我想将资源文件与dll分开 因为将来我可能需要更改resx文件中的错误消息 而无需重新编译类库项目
  • 如何将 Telerik RadGrid 默认设置为编辑模式? (ASP.NET)

    我在 RadGrid 中有一个复选框列 我希望用户能够选中 取消选中它并设置附加属性 但是 当网格呈现时 复选框将被禁用 因为网格不处于 编辑模式 我找到的所有示例都希望我经历一个漫长的过程 选择记录 将其置于编辑模式 更改值 保存值 ya
  • 与简单的文件请求相比,您预计 Web 服务请求的响应时间开销是多少?

    我正在开发一个 asp net Web 服务应用程序 以向使用 jQuery ajax 发出请求的小部件提供 json 格式的数据 我一直在使用 FireBug Net 视图来检查数据请求需要多长时间 在我最初的原型中 我只是请求静态 js
  • Signalr - 发送消息的重写方法

    我有一个实施PersistentConnectionSignalr 中的类 对于我们的网站 我需要能够广播消息 然后让每个连接确定该特定消息是否与该特定用户相关 然后再将其通过管道发送到浏览器 像这样的事情 public class MyC
  • 如何禁止 celery 中的 pickle 序列化

    Celery 默认使用 pickle 作为任务的序列化方法 如中所述FAQ http ask github com celery faq html isn t using pickle a security concern 这代表一个安全漏

随机推荐

  • 远程远程端点 RDFLib / Redland 上的 SPARQL 查询

    我正在尝试查询远程端点并获取 owl sameAs 映射 我尝试了 RDFLib 和 Redland 但都不适合我 可能我没有正确处理名称空间 这是我在 RDFLib 中的尝试 import rdflib rdflib plugin reg
  • 静态方法中的 findViewById

    我有这个静态方法 public static void displayLevelUp int level Context context LayoutInflater inflater LayoutInflater context getS
  • 非阻塞文件读取

    如何以非阻塞模式读取二进制或文本文件的内容 对于二进制文件 当我open filename mode rb 我得到一个实例io BufferedReader 文档堡垒io BufferedReader read says 读取并返回 siz
  • 理解“finally”块

    我编写了七个测试用例来理解finally堵塞 背后的逻辑是什么finally works package core public class Test public static void main String args new Test
  • Zend 框架:元属性集成

    我正在尝试根据页面内容将一些元 采用以下格式 添加到页面的头部 使用headMeta gt appendName像这样 this gt view gt headMeta gt appendName og title some content
  • Huggingface 转换器模型返回字符串而不是 logits

    我正在尝试从 Huggingface 网站运行这个示例 https huggingface co transformers task summary html 模型似乎返回两个字符串而不是 logits 这会导致 torch argmax
  • 如何更新cosmos db中的子文档

    我是 Cosmos Db 的新手 想了解如何删除 更新插入文档集合中的子文档 如果我有一个文件 Id 1234 Name foo Items Id abcd Age 35 Claims Name email Value email prot
  • 使用 ftplib 连接到 FTP TLS 1.2 服务器

    我尝试连接到仅支持 TLS 1 2 的 FTP 服务器 使用Python 3 4 1 My Code import ftplib import ssl ftps ftplib FTP TLS ftps ssl version ssl PRO
  • SQL Server 中非常大的表

    我们有一个非常大的表 gt 77M 记录并且还在不断增长 在 SQL Server 2005 64 位标准版上运行 并且我们发现了一些性能问题 每天添加多达十万条记录 有谁知道SQL Server标准版可以处理的记录数量是否有限制 应该考虑
  • 带有 TransactionScope 的嵌套事务

    如果你有这样的事情 IBinaryAssetStructureRepository rep new BinaryAssetStructureRepository var userDto new UserDto id 3345 var dto
  • 从 google 搜索下载前 1000 张图片

    我对谷歌图片进行了一些搜索 结果是数千张照片 我正在寻找一个可以下载第一个的 shell 脚本n图像 例如 1000 或 500 我怎样才能做到这一点 我想我需要一些高级的正则表达式或类似的东西 我尝试了很多方法但都无济于事 有人可以帮助我
  • 从数据框中删除具有相同值的列

    我有一个像这样的数据框 1 1 1 K 1 K K 2 1 2 K 1 K K 3 8 3 K 1 K K 4 8 2 K 1 K K 1 1 1 K 1 K K 2 1 2 K 1 K K 我想删除所有具有相同值 即 K 的列 所以我的结
  • Laravel 5 删除尾部斜杠时的不良行为

    我在下面创建了一个 Laravel 项目mywebsite com laravel 当我去mywebsite com laravel test 一切都很好 但是当我去mywebsite com laravel test 我被重定向到mywe
  • 为什么这个 for-each 循环不起作用? [复制]

    这个问题在这里已经有答案了 在此代码中 为什么我的数组没有按照我想要的方式初始化 for each 循环不是设计来做到这一点的 还是我只是没有正确使用它 int array new int 5 initialise array gt Doe
  • PHP 5.6升级和特殊字符

    我有一个网站 我使用 php 来包含部分 而不是为每个页面重复代码 然而 最近我的虚拟主机将 PHP 升级到了 5 6 现在我所有的 和 都给了我替换字符 我没有运行任何数据库 并且在 html 中设置字符集没有帮助 我对 PHP 非常缺乏
  • 使用 Python 进行内联 CSV 文件编辑

    我可以使用 Python 的 CSV 库或类似技术内联修改 CSV 文件吗 当前我正在处理一个文件并更新第一列 名称字段 以更改格式 我的代码的简化版本如下所示 with open tmpEmployeeDatabase out csv w
  • 同时编辑和删除 UITableView 中的多行

    在我的应用程序中 我需要删除表中的多行 编辑表并在表旁边获得一个复选框 选中后 表格单元格将被删除 它就像 iPhone 的消息应用程序 我该怎么做 请帮助我 如果我正确理解你的问题 你本质上想要mark UITableViewCell以某
  • xaml设计器中发生System.NullReferenceException

    我使用 Visual Studio 2015 创建了一个 C UWP Windows 10 应用程序 但是 我无法在设计器中可视化任何 xaml 因为我总是得到一个System NullReferenceException错误 我怎样才能解
  • 使用用户名/密码将基本身份验证添加到 web.config 的最简单方法

    我正在设置一个 Azure API 管理 其背后有一个 ASP NET WebApi 2 应用程序 API 管理建议在 API 管理代理和 ASP NET WebApi 之间设置基本身份验证 以确保只能通过 API 管理代理访问 WebAp
  • HTML.Encode() - 它如何/如何防止 ASP .NET 中的脚本安全问题?

    当我处理用户输入 特别是脚本问题 时 HTML Encode 为我提供了哪些安全保护 请参见Server HTMLEncode HTMLEncode 方法应用 HTML 编码为指定的字符串 这 作为一种快速方法很有用 编码表单数据和其他客户