Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 防止不必要的访问我的web服务_C#_Web Services_Asp.net Mvc 5_Asp.net Web Api2_Android Webservice - Fatal编程技术网

C# 防止不必要的访问我的web服务

C# 防止不必要的访问我的web服务,c#,web-services,asp.net-mvc-5,asp.net-web-api2,android-webservice,C#,Web Services,Asp.net Mvc 5,Asp.net Web Api2,Android Webservice,我已经编写了一个C MVC5互联网应用程序,并且有一个返回JSON数据的Web API 2 Web服务。我正在android应用程序中检索此JSON数据 如何向web服务添加一个功能,以便只有我的android应用程序才能检索JSON数据?我希望这样做,以便其他web用户无法敲打url,web服务也不会将我的数据发送给不需要的应用程序和/或用户 这可能吗?如果是,我应该如何做 提前感谢。事实上,您有各种方法来实现这一点 例如,您可以在android应用程序中存储一个密钥,并将该密钥与请求一起发送

我已经编写了一个C MVC5互联网应用程序,并且有一个返回JSON数据的Web API 2 Web服务。我正在android应用程序中检索此JSON数据

如何向web服务添加一个功能,以便只有我的android应用程序才能检索JSON数据?我希望这样做,以便其他web用户无法敲打url,web服务也不会将我的数据发送给不需要的应用程序和/或用户

这可能吗?如果是,我应该如何做


提前感谢。

事实上,您有各种方法来实现这一点

例如,您可以在android应用程序中存储一个密钥,并将该密钥与请求一起发送到您的WebAPI。您的webAPI将检查它们的密钥是否有效,如果有效,它将返回JSon

但是,无法确保没有其他人可以请求和获取您的数据。例如,通过反向工程您的android应用程序并提取密钥,或者通过监控网络流量并在其中找到密钥

你需要明白,没有什么东西可以保证你100%的安全

如下所示:


你现在有一扇开着的门,你可以一点一点地关上,但是关闭和锁定是不可能的。总会有差距。房子也不能防盗,但你可以让号手很难进入。

你在找这样的东西吗?


如果您有其他web服务器,则应该有适当的方法来支持此类服务

转到此链接。我已经为我的web api使用了个人身份验证。当您注册用户时,您将得到的响应是访问令牌,如果您使用Jquery ajax调用Web Api,则在ajax调用中使用该访问令牌作为身份验证头。参考这个。希望这对您有所帮助。

添加一些安全性,如身份验证?谷歌随机告诉我,WebAPI服务不太可能托管在Apache中,几乎可以肯定不是。问题是关于Android应用程序,因此可能运行在最终用户的设备上,并且没有预先知道的IP地址。