Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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
Javascript Asp.Net MVc中JSon结果的安全请求_Javascript_Jquery_Asp.net Mvc_Security_Json - Fatal编程技术网

Javascript Asp.Net MVc中JSon结果的安全请求

Javascript Asp.Net MVc中JSon结果的安全请求,javascript,jquery,asp.net-mvc,security,json,Javascript,Jquery,Asp.net Mvc,Security,Json,我在ASP.NETMVC中开发了一个应用程序。这个应用程序有一个返回JsonResult的操作,我通过客户端的jquery获得它。一切都很好,但我想知道,如果有任何方法,使安全在此行动,只返回来自我的网站的请求 有没有办法避免其他网站请求此操作?或者在地址栏中避免使用javascript(脚本注入) 谢谢简短回答:不 详细回答:要知道请求是合法的,唯一的方法就是解释请求中的内容。http协议没有魔力。也许,最可靠的方法是检查推荐人并确保它是您的站点。但是,要愚弄这项检查并不难。我还没有尝试过,但

我在ASP.NETMVC中开发了一个应用程序。这个应用程序有一个返回JsonResult的操作,我通过客户端的jquery获得它。一切都很好,但我想知道,如果有任何方法,使安全在此行动,只返回来自我的网站的请求

有没有办法避免其他网站请求此操作?或者在地址栏中避免使用javascript(脚本注入)

谢谢

简短回答:不


详细回答:要知道请求是合法的,唯一的方法就是解释请求中的内容。http协议没有魔力。也许,最可靠的方法是检查推荐人并确保它是您的站点。但是,要愚弄这项检查并不难。

我还没有尝试过,但一直在思考如何实现这一点。我目前的想法是在操作中添加一个自定义属性,用于检查请求应用程序附加到cal的令牌

令牌将由调用应用程序根据在应用程序使用API时提供给请求程序的种子密钥生成。自定义属性将在运行允许或拒绝调用的操作之前对密钥进行身份验证

正如我所说的,还没有完全形成,但正在沿着这些思路思考。。。祝你好运,如果你有什么想法,一定要发回。

对于其他网站:

  • 你可以查看推荐人,但这可能会被欺骗
  • 您可以检查是否与用户有活动会话
对于地址栏:

  • 对此你真的无能为力
其他网站无法使用ajax对您的操作发出请求,因为HTTP不允许这样做,但它仍然可以从地址栏、其他程序或任何东西调用


如果您不允许仅从网站的特定部分调用您的操作,您可以使用html帮助程序AntiForgeryToken和属性[ValidateAntiForgeryToken],您可以在此处查看有关此操作的教程:。这几乎就是abarr发布的想法。

您能更详细地描述一下您的环境吗。你写了1)ASP.NET MVC应用程序2)你的网站3)其他网站和客户端。ASP.NET MVC应用程序是您网站的一部分,还是至少在同一Web服务器或同一服务器上运行?所有的工作是在内部网和active directory中进行还是在internet上进行?您是否拥有并使用客户端或服务器端的任何证书?是的,但此操作只有aceppts才能获得。我无法通过post获得它,因为我需要性能。你好,Epascarello,要测试活动会话,我如何在MVC中完成它?我需要启动一个会话来获取SessionID并将其作为参数传递吗?谢谢