阻止跨域调用 asp.net .asmx Web 服务

2024-06-26

我构建了一个应用程序,它使用 jQuery 和 JSON 来使用 ASP.NET .asmx Web 服务来执行增删改查操作。应用程序和 .asmx 位于同一域中。我不介意人们远程消耗 .asmx 的读取操作,但不希望人们随机删除内容!

我可以将我想要公开访问的方法和“隐藏”的方法分成 2 个 Web 服务。如何将对“hidden”.asmx Web 服务的调用锁定到其托管的同一域?

提前致谢。

Edit:有人可以对此发表评论吗,似乎有道理(来源:http://www.slideshare.net/simon/web-security-horror-stories-presentation http://www.slideshare.net/simon/web-security-horror-stories-presentation): Ajax 可以设置 Http headers,普通形式不能。 Ajax 请求必须来自同一域。

因此“x-requested-with”“XMLHttpRequest”请求必须来自同一域。


您需要使用 Web 服务来保护两种情况:

  1. 用户是否经过身份验证?
  2. 该操作来自我的页面吗?

如果您使用表单身份验证,则身份验证部分已经处理完毕。如果您的 Web 服务位于网站的表单身份验证受保护区域,则除非登录,否则任何人都无法访问您的 Web 服务。

第二个场景是一个稍微棘手的故事。这种攻击称为 CSRF 或 XSRF(跨站请求伪造)。这意味着恶意网站会在您的用户仍登录到您的网站时代表他们执行操作。这是一篇关于 XSRF 的精彩文章 http://www.codinghorror.com/blog/archives/001171.html.

Jeff Atwood 在上面的链接中总结了这一切,但 XSRF 保护分为四个步骤:

  1. 将 GUID 写入用户的 cookie。
  2. 在 AJAX 调用之前,从 cookie 中读取该值并添加它 到 Web 服务 POST。
  3. 在服务器端,将 FORM 值与 cookie 值进行比较。
  4. 由于站点无法读取其他域的 cookie,因此您是安全的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止跨域调用 asp.net .asmx Web 服务 的相关文章

  • Python:强制json中浮点数的精度?

    update 这是我看到的实际问题 请注意 round 似乎并没有起到作用 这是我的代码 t0 time time stuff t1 time time perfdat et1 round t1 t0 6 et2 6f t1 t0 以及 d
  • 在 Rails 3 中使用 jQuery 插件

    完成哈特尔的伟大导轨教程我现在正在努力实现非常好的目标jQuery 新手到忍者由卡斯尔丁和沙基创作 虽然我能够在我的 Rails 项目中包含 jquery js 和 jquery ui js 但在添加其他 jQuery 插件时我遇到了困难
  • 使用jquery从javascript加载.txt文件[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想加载本地 txt 文件并使用 j
  • ajaxComplete后重新加载reCaptcha

    ajaxComplete 事件完成时 我的 reCaptcha 不会重新加载 我遇到控制台错误 不存在 reCAPTCHA 客户端 那么为什么我的 reCaptcha 客户端在 ajaxComplete 之后就消失了 这是我的示例代码 do
  • 我需要中小企业帮助自动化 jqGrid 过滤器,请

    好吧 简而言之 我需要做的是在加载 jqGrid 时自动将一组排序标准和数据过滤器应用到 jqGrid 其目的是 用户将从大约 10 个预填充的过滤器开始 然后 如果他们愿意 他们可以更改这些过滤器或他们认为合适的排序 到目前为止 经过大量
  • javascript 可以从父页面访问 iframe 元素吗?

    我的页面上有 iframe iframe 和父页面位于不同的域中 父页面上的 javascript 代码可以访问此 iframe 内的元素吗 如果页面来自不同的域 则不应该这样做 浏览器安全沙箱应该阻止这种类型的访问 当两个页面来自不同的时
  • 如何从CLASS(内部类)调用ASPX页面

    我想从类文件或类的内部函数调用或重定向 ASPX 页面 请帮助我或给出提示或 请编写从侧类或在侧类中调用或重定向 ASPX 页面的语句 您只需执行以下操作 HttpContext Current Response Redirect myPa
  • 限制 SQL 查询的响应时间

    我在这里发布了一个关于我的 gridview 绑定的问题 将GridView与多条记录绑定 https stackoverflow com questions 5599704 bind gridview with many records
  • 如何禁止匿名访问 IBM Cloud(Bluemix) 上的 NodeRed UI 仪表板?

    我正在与node red 在样板 IBM 云上 我知道有一种方法可以更改环境变量 NODE RED USERNAME 和 NODE RED PASSWORD 的值来更改编辑器流程的用户名和密码 但是 UI 仪表板怎么样 我的意思是使用仪表板
  • JavaScript 变量带有一个我需要在 Html.ActionLink 中使用的 ID

    我的 jQuery 代码中有一个 JavaScript 变量 其中包含一个我需要在我的Html ActionLink但它不起作用 Html ActionLink Genomf r AnswerForm AnswerNKI new id go
  • $(document).ready 回调何时执行?

    假设我们附加一个 click http api jquery com click 锚点的处理程序 a 中的标签 document ready http api jquery com ready 打回来 该处理程序将取消默认操作 遵循href
  • 使用 java.util.Set 时的 Jackson bug(或功能!?) - mySet.size() 始终为 1

    我正在使用 Jackson 2 2 0 和 Spring 3 2 0 以及 Hibernate 4 2 2 我最近不得不通过 POST 向服务器发送一组对象 cancelationDate 2013 06 05 positions pric
  • 为什么 jQuery 对损坏标记的解释与浏览器不同?

    我之前已经回答过这个问题 https stackoverflow com a 19101905 1253312 但我并不完全理解why答案是正确的 答案的要点 p p function jqrender html a href http w
  • ASP.NET MVC - 如何实现可重用的用户控件并保持DRY?

    第一次发帖 请多多包涵 在 ASP NET MVC 中创建用户控件时 构造代码的最佳方法是什么 以便调用使用用户控件的视图的控制器不必对控件了解太多 我想知道在 ASP NET MVC 中使用用户控件时保持 DRY 的好方法 请注意 此问题
  • 通过 jQuery ajax 将 JSON 对象数组发送到 MVC3 操作方法

    模型绑定器不支持 JSON 对象数组吗 下面的代码在发送单个 JSON 域对象作为 ajax post 的一部分时起作用 但是 当发送 JSON 域对象数组时 action 参数为 null var domains DomainName t
  • 使用非管理员帐户时,SQL Linked Server 返回错误“不存在登录映射”

    我有一个本地 SQL Server 2008R2 我已将链接服务器配置为远程数据库 当我使用 SQL 登录帐户登录本地服务器时 链接服务器工作得很好sysadmin服务器角色 我可以查询远程服务器 因此我知道链接服务器设置是正确的 但是 如
  • execCommand 的替代品

    我希望创建一个所见即所得编辑器 使用 jQuery 作为框架 我可以使用不同的方法来简化生产 我现在确实有一个正在工作的编辑 而且运作良好 我使用 iFrame 并将其设计模式设置为打开并从那里开始 然而 有一些事情困扰着我 以更改所选文本
  • 帮助使用 jquery 验证插件和复选框

    我有一个复选框组 需要对其进行唯一命名 以将值单独存储在数据库中 但是 使用 jquery 验证插件 我无法验证名称不同的组
  • 如何防止 Bootstrap Navbar Toggle 下推内容?

    我将 Bootstrap 与静态顶部导航栏一起使用 如下所示
  • 如何使用 jQuery 解析 JavaScript 对象

    jQuery JavaScript 中用于解析 JSON 对象并返回键 值对的 foreach 等效项是什么 JSON 对象 是什么意思 JSON 是一种用于序列化对象的文本格式 如果要循环访问通过反序列化 JSON 字符串获得的对象中的属

随机推荐

  • Python:压平包含另一个生成器的生成器的函数

    我想知道如何编写 python 函数 它可以展平生成器 生成另一个生成器或可迭代对象 也可以生成另一个生成器 可迭代对象 可能是无限的 这是示例 gen gen 1 2 3 gen 4 5 6 7 8 9 gen 10 11 12 gen
  • 泡菜:为什么叫这个名字? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我很惊讶这对我来说很难找到答案 这是一个多么奇怪的名字啊 泡菜为什么叫泡菜 http en wikipedia org wiki Pickle
  • 打印 WPF 位图图像

    打印位图图像的最佳方法是什么 我有 System Drawing 背景 所以我正在考虑将其转换为位图 然后打印它 但我认为可能有更好的方法 Thanks 根据 Drew 的回答 最好测量并安排传递给 PrintVisual 方法的容器 这将
  • 服务器上保存的位置的接近警报

    我做了一些搜索 但找不到合适的答案 我的应用程序应该与多个位置进行比较以了解邻近度 这意味着我将无法将所有位置保存到我的应用程序中以使用 locationManager 确认邻近度 我希望在服务器中完成邻近确认 实现这一点的最佳方法是什么
  • AWS API Gateway 自定义授权程序未运行

    我创建了一个 Lambda 函数 已将其配置为我的一个 API 端点的方法请求上的 自定义身份验证 当我使用 AWS API Gateway 的 测试 函数时 我在日志输出中看不到 Lambda 函数的任何输出 我已经 部署 了 API 然
  • awk 在Linux终端中输出类似表格或类似Excel的列?

    我做了一个长管子 最后是 awk print 5 t t 3 t 4 在 Linux 终端中 这些列用选项卡填充 第一列条目具有不同数量的字符 因此第二列结果并不完全垂直 怎样才能让桌子看起来更完美呢 尝试将结果通过管道传输到列 t awk
  • 自定义 Django 组模型

    我正在尝试向 Django 管理中的 组 添加一个字段 例如 当您在后端创建一个组时 您定义 名称 和 权限 我想向其中添加一个字段列表 CharField 这是否需要一个新的应用程序 或者我可以在我的根 models py 中扩展 Gro
  • 在 JavaScript 中将代码作为函数参数传递?

    我正在尝试自己创建一个 javascript 框架 所以不要使用 jquery mootools 代码 并且我想让我的框架的代码只能在框架函数中访问 例如 如下所示 frameworkname framework code here 所以我
  • 将更改推送到 openshift 项目时出错

    当我尝试在开放轮班项目中推送一些更改时 我在尝试构建项目时收到此错误 remote Found pom xml attempting to build with mvn global settings var lib openshift 5
  • 将 double 转换为固定宽度的 String

    我想将双精度数转换为固定宽度的字符串 如果宽度是 10 那么我希望 double 值四舍五入到这个宽度 例如 如果 value 102 121323435345 并且宽度为 10 则该值应该是 position gt 0123456789
  • 获取 pinterest api 的域名

    目前我正在研究 pinterest api 以从我的域获取 pin 我可以通过 api 获取访问令牌 我正在使用以下方法进行 api 调用来获取域 pin https api pinterest com v3 domains
  • CSS 字体显示功能是什么?

    对于我的网站 我从 Google 的 PageSpeed Insights 获得以下反馈 利用字体显示 CSS 功能确保加载 Web 字体时文本对用户可见 这意味着什么 CSS font display允许您控制网络字体在加载时 加载后如何
  • 如何在 Linux 64 位上用 C 编写简单的内联 asm 指令?

    我正在编写一个简单的 C 程序 我的要求是从程序的某些函数中打印 RIP 指令指针 我不想使用 ptrace 我用内联汇编尝试的一件事是 asm movl rip 0 r val 这应该将我的 rip 寄存器值复制到变量 val 但我收到编
  • 从 Python Tkinter 中的特定位置播放声音

    goal 从该位置播放 wav 文件D 1 wav 当用户启动应用程序时 research 看到了以下问题 我将如何在 python 中播放闹钟声音 https stackoverflow com questions 4006709 how
  • 检查域名是否可供购买 - C# [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有什么方法可以检查某个域名是否可以购买 是否有任何图书馆可以做到这一点 THanks 您可以看一下 ht
  • 在 Ubuntu 13.10 上运行 Gradle

    我在 ubuntu 13 10 上运行 gradle 时遇到问题 我认为这是问题的根源 我安装了gradle使用下面的命令 sudo apt get install gradle 我在运行命令时遇到错误gradle version grad
  • Python 中的循环模块依赖关系和相对导入

    假设我们有两个具有循环依赖关系的模块 a py import b def f return b y x 42 b py import a def g return a x y 43 这两个模块都在目录中pkg与一个空的 init py 输入
  • PHP:使用 imagemagick 将图像转换为 TIFF

    我正在尝试使用 imagemagick 将图像转换为 tiff 但在尝试写入文件时遇到问题 我收到一条错误消息 无法打开图片 错误 blob c OpenBlob 2584 这是我正在使用的代码 im2 new Imagick image
  • Qodoo / openERP中子节点的web Xpath?

    这里我想在现有的 UL 中插入一个 LI 项目 我试过这个 XML ul li a 1 a li li a 2 a li li a 3 a li ul XPATH
  • 阻止跨域调用 asp.net .asmx Web 服务

    我构建了一个应用程序 它使用 jQuery 和 JSON 来使用 ASP NET asmx Web 服务来执行增删改查操作 应用程序和 asmx 位于同一域中 我不介意人们远程消耗 asmx 的读取操作 但不希望人们随机删除内容 我可以将我