sendAndLoad和Redirect的測(cè)試as
更新時(shí)間:2007年07月23日 00:00:00 作者:
今天我們來測(cè)試下當(dāng)SWF文件將參數(shù)以POST方式傳給s1.asp,而s1.asp中有Redirect方法轉(zhuǎn)到s2.asp,s2.asp有Redirect方法轉(zhuǎn)到s3.asp時(shí),SWF返回的是由哪個(gè)文件產(chǎn)生的值?
1.測(cè)試過程
ActionScript:
程序代碼
on (release) {
var myvar = new LoadVars();
myvar.s = "mzwu";
myvar.sendAndLoad("s1.asp",myvar,"post");
myvar.onLoad = function(re){
if(re){
t2.text = myvar.url;
}else{
t2.text = "加載失?。?;
}
}
}
s1.asp:
程序代碼
<%
Response.Redirect("s2.asp?s=" & Request.Form("s"))
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s2.asp:
程序代碼
<%
Response.Redirect("s3.asp?s=" & Request.QueryString("s") & " back")
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s3.asp:
程序代碼
<%
Response.Write("url=" & Request.ServerVariables("URL") & " " & Request.QueryString("s"))
%>
SWF中可以看到返回的結(jié)果為“/s3.asp mzwu back”,很明顯,這個(gè)結(jié)果是由s3.asp產(chǎn)生的。那我們就可以得出結(jié)論:當(dāng)多個(gè)頁面中存在Redirect時(shí),SWF返回的將是最終頁面產(chǎn)生的值!
2.無需crossdomain.xml的跨域訪問
眾所周知,SWF要進(jìn)行跨域訪問時(shí),除了發(fā)布成EXE格式,就只能在受訪服務(wù)器上布署crossdomain.xml文件了,但實(shí)際上多數(shù)情況是我們需要將Flash文件插入到頁面中(只能是SWF格式)進(jìn)行跨域訪問,并且受訪域我們沒有操作權(quán)限(無法布署crossdomain.xml文件)!
基于第1點(diǎn)的測(cè)試結(jié)果,我們可以將SWF文件、s1.asp、s3.asp布署在我們自己的服務(wù)器上,s2.asp是受訪問域上的文件。我們將上邊文件代碼稍做修改再次進(jìn)行測(cè)試:
ActionScript:
程序代碼
on (release) {
var myvar = new LoadVars();
myvar.s = "mzwu";
myvar.sendAndLoad("s1.asp",myvar,"post");
myvar.onLoad = function(re){
if(re){
t2.text = myvar.url;
}else{
t2.text = "加載失?。?;
}
}
}
s1.asp:
程序代碼
<%
Response.Redirect("http://free.66ip.com/test07/s2.asp?s=" & Request.Form("s"))
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s2.asp:
程序代碼
<%
Response.Redirect("http://www.mzwu.com/s3.asp?s=" & Request.QueryString("s") & " back")
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s3.asp:
程序代碼
<%
Response.Write("url=" & Request.ServerVariables("URL") & " " & Request.QueryString("s"))
%>
結(jié)果仍是"/s3.asp mzwu back",很明顯,我們通過一些方法實(shí)現(xiàn)了不需crossdomain.xml的跨域訪問!網(wǎng)銀在線支付的實(shí)現(xiàn)原理其實(shí)也就是:企業(yè)站點(diǎn)→在線支付接口→企業(yè)站點(diǎn),那用Flash做個(gè)支付界面會(huì)很難嗎?:)
1.測(cè)試過程
ActionScript:
程序代碼
on (release) {
var myvar = new LoadVars();
myvar.s = "mzwu";
myvar.sendAndLoad("s1.asp",myvar,"post");
myvar.onLoad = function(re){
if(re){
t2.text = myvar.url;
}else{
t2.text = "加載失?。?;
}
}
}
s1.asp:
程序代碼
<%
Response.Redirect("s2.asp?s=" & Request.Form("s"))
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s2.asp:
程序代碼
<%
Response.Redirect("s3.asp?s=" & Request.QueryString("s") & " back")
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s3.asp:
程序代碼
<%
Response.Write("url=" & Request.ServerVariables("URL") & " " & Request.QueryString("s"))
%>
SWF中可以看到返回的結(jié)果為“/s3.asp mzwu back”,很明顯,這個(gè)結(jié)果是由s3.asp產(chǎn)生的。那我們就可以得出結(jié)論:當(dāng)多個(gè)頁面中存在Redirect時(shí),SWF返回的將是最終頁面產(chǎn)生的值!
2.無需crossdomain.xml的跨域訪問
眾所周知,SWF要進(jìn)行跨域訪問時(shí),除了發(fā)布成EXE格式,就只能在受訪服務(wù)器上布署crossdomain.xml文件了,但實(shí)際上多數(shù)情況是我們需要將Flash文件插入到頁面中(只能是SWF格式)進(jìn)行跨域訪問,并且受訪域我們沒有操作權(quán)限(無法布署crossdomain.xml文件)!
基于第1點(diǎn)的測(cè)試結(jié)果,我們可以將SWF文件、s1.asp、s3.asp布署在我們自己的服務(wù)器上,s2.asp是受訪問域上的文件。我們將上邊文件代碼稍做修改再次進(jìn)行測(cè)試:
ActionScript:
程序代碼
on (release) {
var myvar = new LoadVars();
myvar.s = "mzwu";
myvar.sendAndLoad("s1.asp",myvar,"post");
myvar.onLoad = function(re){
if(re){
t2.text = myvar.url;
}else{
t2.text = "加載失?。?;
}
}
}
s1.asp:
程序代碼
<%
Response.Redirect("http://free.66ip.com/test07/s2.asp?s=" & Request.Form("s"))
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s2.asp:
程序代碼
<%
Response.Redirect("http://www.mzwu.com/s3.asp?s=" & Request.QueryString("s") & " back")
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s3.asp:
程序代碼
<%
Response.Write("url=" & Request.ServerVariables("URL") & " " & Request.QueryString("s"))
%>
結(jié)果仍是"/s3.asp mzwu back",很明顯,我們通過一些方法實(shí)現(xiàn)了不需crossdomain.xml的跨域訪問!網(wǎng)銀在線支付的實(shí)現(xiàn)原理其實(shí)也就是:企業(yè)站點(diǎn)→在線支付接口→企業(yè)站點(diǎn),那用Flash做個(gè)支付界面會(huì)很難嗎?:)
相關(guān)文章
完整簡(jiǎn)潔 Flash 處理XML 文檔數(shù)據(jù) 教程 下篇
完整簡(jiǎn)潔 Flash 處理XML 文檔數(shù)據(jù) 教程 下篇...2007-12-12xflash第一次升級(jí),xfml功能被強(qiáng)化
xflash第一次升級(jí),xfml功能被強(qiáng)化...2006-12-12FLASH自動(dòng)判斷域名然后轉(zhuǎn)向等操作
FLASH自動(dòng)判斷域名,如果不是你的域名,然后干什么你來定吧! 首先說一下FLASH自已可以干什么!FLASH他可以判斷自已在哪個(gè)路徑下面,例如:2008-04-04