在 asp.net 中阻止对 WebService.asmx 的访问

Posted

技术标签:

【中文标题】在 asp.net 中阻止对 WebService.asmx 的访问【英文标题】:Block access to WebService.asmx in asp.net 【发布时间】:2017-05-22 01:22:43 【问题描述】:

我已经构建了一个简单的异步运行的 asp.net Web 应用程序,使用 WebService.asmx 文件来访问数据库。我需要保护文件,以便客户端无法访问它,而只能通过 http 请求访问 javascript 代码。 (该文件位于 domain.com/WebService.asmx)。

我读到有人建议使用用户身份验证系统,但这并不适用(因为它很容易被操纵)。

我的最终目标是阻止从除 javascript 文件之外的任何地方访问 WebService.asmx 文件。

我使用的是 Visual Studio 2013,但该应用程序将在 Windows Server 2012 上运行。

【问题讨论】:

authentication system can be easily manipulated - 使用一个不能被操纵的然后 【参考方案1】:

简而言之,你不能。

Javascript 在客户端、浏览器中运行。 通过 Javascript 调用 asmx 网络服务与访问浏览器中的 URL(或任何其他客户端 - 例如 Postman / Fiddler)没有什么不同 服务器不会知道有什么不同。

妥善保护它。

【讨论】:

以上是关于在 asp.net 中阻止对 WebService.asmx 的访问的主要内容,如果未能解决你的问题,请参考以下文章

如何在ASP.net中调用webservice里的一个方法

Firefox 阻止对 ASP.NET 身份更改/模拟的简单 CORS 请求

如何通过更改 ASP.NET MVC 中的 Url 来阻止对控制器的访问?

什么时候在 asp.net WebService 中调用 Application_End

在asp.net里怎样异步调用WebService方法

ASP.NET Membership - 当您在同一个 WebApp 中调用 WebService 时,经过身份验证的用户会丢失