首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只允许访问外部系统的回调url。

只允许访问外部系统的回调url。
EN

Stack Overflow用户
提问于 2014-12-12 13:38:40
回答 1查看 226关注 0票数 0

为了限制对控制器中操作的访问,我面临一些问题(比如ww.mysite.com/callback/c1)。我希望只有外部的ERP系统才能访问这个控制器。ERP允许我设置一个回调URL,每次在这个ERP系统中发生特定事件时,它都会发出一个POST请求。

现在,我不希望其他任何人能够发布任何东西到这个URL。我如何保护这个网址只能从ERP系统访问?

我一直在考虑在ERP URL中硬编码用户和密码,因此它会向www.mysite.com/callback/c1?userName=user&password=pass发出post请求,这样我就可以检查凭据是否有效,如果有效,则继续执行请求,但是凭据在ERP系统中是可见的。

还有其他方法可以做到这一点吗?

PD:我正在使用ASP .NET MVC5 PD2:我没有对ERP系统进行修改的控制权,我只能设置回调URL。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-12 16:51:18

您需要识别来自ERP的请求,因此您应该在请求中找到标识它的方法。如果有: ClientCertificates,Header,LogonUserIdentity,ServerVariables,Cookies,UserAgent,UserHostAddress,UserHostName.如果您找到了一些识别ERP的元素,那么问题就解决了。但还是有人可以窃取身份并复制出来。

另一个选项是使用防火墙和/或IIS中的特殊配置。除了通常绑定到端口80之外,您还可以将您的应用程序绑定到一个非常规端口,比如88端口,也许还可以绑定到一个域名,该域名只有您的ERP计算机nows.Do才能访问ERP操作系统上的主机文件?见维基百科中的这一信息

如果您设置了防火墙,您可以设置过滤器,以便对新绑定端口(在示例88中)的请求只能来自ERP机器。

您还可以检查请求是否指向只有ERP机器现在才知道如何解析的域,因为它是在其主机文件中定义的。

如果您可以使用防火墙,您甚至可以向前迈进一步,将第二个IP添加到您的接口(NIC)中,只有ERP才知道这一点,这样您就可以将传入的请求发送到域报头/IP/端口组合,并对其进行检查。

提供更多的信息很难给你一个更好的建议(这是ERP的操作系统,什么样的应用程序,你能做什么配置.)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27444869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档