C# 如何保护不需要虚假消费者身份验证的web服务?

C# 如何保护不需要虚假消费者身份验证的web服务?,c#,asp.net,C#,Asp.net,我正在编写asp.net通用web处理程序来为web应用程序提供服务,但我不希望虚假的应用程序使用web处理程序。使用web处理程序的目的是隐藏逻辑和数据。但是,即使逻辑和数据受到保护,仍有人可以从web应用程序外部使用处理程序,因为它不需要身份验证。我如何解决这个问题 编辑:正确的客户端是使用ajax的JavaScript应用程序。首先必须定义虚假的应用程序 如果您不能/不愿意添加身份验证,您可以考虑物理隔离该服务,以便只有合法的应用程序才能使用它。 一种可靠的方法是将web服务置于防火墙后面

我正在编写asp.net通用web处理程序来为web应用程序提供服务,但我不希望虚假的应用程序使用web处理程序。使用web处理程序的目的是隐藏逻辑和数据。但是,即使逻辑和数据受到保护,仍有人可以从web应用程序外部使用处理程序,因为它不需要身份验证。我如何解决这个问题


编辑:正确的客户端是使用ajax的JavaScript应用程序。

首先必须定义虚假的应用程序

如果您不能/不愿意添加身份验证,您可以考虑物理隔离该服务,以便只有合法的应用程序才能使用它。


一种可靠的方法是将web服务置于防火墙后面,并仅为应该能够访问它的应用程序配置访问权限。

如果需要访问该应用程序的应用程序列表很小和/或是本地的,您可以加密返回的数据和作为参数的数据吗?使用一些对称算法,并将密钥透露给其他应用程序的开发人员。您还可以为每个应用程序生成一个新密钥,以在使用您的服务的应用程序之间隐藏数据,但此时您也可以只使用普通的身份验证方法。

但您不能使用java脚本客户端,对吗,因为加密密钥和算法将被公开。@GuidoArbia您真的应该在OP中提供更多信息。无论如何,我对web开发不是很有经验,但您不能在不回发的情况下使用Ajax向服务器发出请求,假设目标是避免回发。如果这是可以接受的,那么服务器应该能够在将数据返回到用户页面之前解密数据。