Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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
Ajax 在经典ASP中调用外部注销_Ajax_Json_Iframe_Asp Classic_Backend - Fatal编程技术网

Ajax 在经典ASP中调用外部注销

Ajax 在经典ASP中调用外部注销,ajax,json,iframe,asp-classic,backend,Ajax,Json,Iframe,Asp Classic,Backend,基本上我要找的是这样的东西 我在一个典型的asp站点上有一个链接,它调用一个.ASPX文件,该文件反过来从会话变量设置一组用户凭据,然后重新定向到第三方供应商托管的站点,我知道,但现在对此无能为力 所以这个过程是,; 1.加载带有.ASPX页面链接的经典asp页面 2.单击链接,发送到.aspx页面 3.ASPX将所需数据和.Send()设置为第三方供应商应用程序 问题是,如果用户没有“注销”第三方站点,并以新用户名返回,则第一个用户名凭据将保持不变。我要做的是在用户单击转到第三方供应商应用程序

基本上我要找的是这样的东西

我在一个典型的asp站点上有一个链接,它调用一个.ASPX文件,该文件反过来从会话变量设置一组用户凭据,然后重新定向到第三方供应商托管的站点,我知道,但现在对此无能为力

所以这个过程是,; 1.加载带有.ASPX页面链接的经典asp页面 2.单击链接,发送到.aspx页面 3.ASPX将所需数据和.Send()设置为第三方供应商应用程序

问题是,如果用户没有“注销”第三方站点,并以新用户名返回,则第一个用户名凭据将保持不变。我要做的是在用户单击转到第三方供应商应用程序之前在.asp页面上,在后台调用供应商应用程序注销页面。我曾考虑使用iFrame,但iFrame只显示注销页面,它实际上不会执行与其关联的代码

非常感谢您的帮助,
如果服务器端代码正确,那么Iframe方法应该可以工作。但要记住两件事

首先,会话变量是特定于域的,因此如果您的页面通过多个域可用,并且Iframe的src属性与用户从中访问站点的属性不同,那么您的会话数据将无法识别。如果一个url包含“www”而另一个不包含,这甚至可能适用-我从未测试过这一点

第二,经典ASP文件和ASP.net文件不能共享会话变量,您需要为每一组页面分别设置一组变量。如果您需要同步两组,一个常见的方法是使用0px×0px iframe,例如

<iframe height="0" width="0" src="dotnetpage.aspx?userid=<%=Session("userid")&loggedin=<%=Session("loggedin")" />


显然,dotnetpage.aspx将包含将查询字符串值设置为会话变量的代码,您可以让一个经典页面接收来自.net页面的查询字符串

只要该第三方供应商意识到他们的网站存在巨大的安全漏洞并决定关闭它,您根据这些思路提出的任何解决方案都将有效

例如,通过在用户页面中插入隐藏的iframe,用户永远不能将用户从另一个系统中注销。这是CSRF漏洞的一种形式,表明另一个站点的安全姿态不严谨


我当然会考虑另一种方法。

< P>我找到了一个更好的方法来使用经典ASP,只包含URL作为一个,并且它似乎工作正常。p> 我在这方面遇到的问题是,iframe基本上被视为在我的站点中加载的另一个浏览器窗口/会话。我正在做的是尝试访问我的.asp网站上的第三方供应商注销功能,我唯一能想到的方法是iFrame,但它们实际上并不运行它们显示的网站中内置的功能,也不运行存储的cookie/会话。谢谢你的回答,我很感谢你的帮助。嗯,在你的问题中添加一个ajax标签可能是值得的,它可能比iFrame提供更多的可能性。另外,您的第三方供应商是否提供任何类型的集成支持?我完全同意您的看法,老实说,我只是不确定要采取什么其他方法。