当前位置:编程学习 > C#/ASP.NET >>

1234史上最牛B的问题:两个不同域名网站之间跨域操作数据的问题!!!

目前遇到的问题如下:
1.假设有A网站的域名是www.abc.com ,其中某一个网页photo.htm,里面包含一个隐藏的帧iframe,src是我们指定的一个页面如www.test.com/aaa.aspx,即photo.htm里有一行代码为<iframe src=www.test.com/aaa.aspx border=0 width=0 height=0 ></iframe>

2.在aaa.aspx里面有一个组链接,第一步是要实现A网站的页面的javascript脚本能够跨域点击或者触发aaa.aspx页面的某一个链接的操作.

3.aaa.aspx提交到的页面是一个severlet,接口只能接受POST方法.

4.目前因为浏览器默认安全设置里是不允许脚本跨域访问数据的,所以js会弹出一个错误信息“没有权限”,并且脚本无法继续执行下去。

5.所以不得不解决两个不同域名的网站之间跨域操作数据的问题.

在线求助:QQ 39493690
如确实能解决,可以考虑给予一定的现金报酬。非诚勿扰。
--------------------编程问答-------------------- IE设置-〉工具-〉Internet选项-〉安全-〉受信任站点-〉添加 --------------------编程问答-------------------- IE设置-〉工具-〉Internet选项-〉安全-〉受信任站点-〉添加

自己做着玩还可以。
如果是公开的,不可能让每个访问用户都做这样的设置吧。 --------------------编程问答-------------------- 或者你可以对第二个站点不要用iframe,用webrequest去操作 --------------------编程问答-------------------- 为啥要跨域?你在自己的页面里POST不可以吗?用HttpWebRequest --------------------编程问答-------------------- 莫非... --------------------编程问答-------------------- 这个很难吗?

LZ有没有接处过银行接口方面的东西......

像那种就和你的问题一样~~~~~~~~! --------------------编程问答-------------------- daihaifeng2000@hotmail.com --------------------编程问答-------------------- 这个属于皮包方法.. --------------------编程问答-------------------- 好像不能,钱再多也没用。。。 --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 3  这个,构造一个form提交过去

<script language="javascript" type="text/javascript">
var chinaweb = "http://bbs.php.com";
        function Connect()
        {
            try
            {
                var action = chinaweb;
                var formQuery = document.createElement("<form action='"+action+"' method='post' target='_blank'></form>");
                var inputHidden = document.createElement("<input type='hidden' name='username'>");
                inputHidden.value ='username';
             var inputPwd = document.createElement("<input type='hidden' name='password'>");
                inputPwd .value ='pwd';
                formQuery.appendChild(inputPwd );
                document.body.appendChild(formQuery);
                formQuery.submit();
            }
           catch(e)
           {
               alert(e);
           }
        }
</script>
--------------------编程问答-------------------- 1.如果你是要破解广告商的点击数的话那就算了.
2,如果只是想提交数据的话,可以用xmlhttp做post
--------------------编程问答-------------------- 哈哈哈哈。。。牛X --------------------编程问答-------------------- 意图不太光明 --------------------编程问答-------------------- 给你一个思路,不过只能做一部操作,用webrequest 方法将aaa.aspx的页面源码下载下来,然后用js将iframe里的html替换为下载下来的源码,这样就可以操作了,但是只能有一步操作,也就是链接只能点一下,提交也是的,不过这些都可以能过js解决有点麻烦,如当你要用js点一个链接时,用js获取些链接的 href属性,然后用webrequest下载下来,再显示,呵呵 ,这样就不存在跨域问题了 --------------------编程问答-------------------- form也是同理 --------------------编程问答-------------------- mark. --------------------编程问答-------------------- 2.设置domain,两个文件设置成同一个domain(适合在子域不同时使用)

document.domain="domain.com"
--------------------编程问答-------------------- 你们回答的完全就不对。哎 --------------------编程问答-------------------- 遇到过这个问题,也一样没办法解决~~~~~~~~

虽然网上找了不少资料,但是都没有好的解决方案~~~~ --------------------编程问答-------------------- webservice
--------------------编程问答-------------------- 我目前知道跨域通信有4种方法
1.Remoting
2.webservice
3.xmlhttp
4.对象序列化

如果是只跨不同的二级域名,COOKIE也是可以的 --------------------编程问答-------------------- 本意不单纯啊,邪恶邪恶 --------------------编程问答-------------------- 1.如果你是要破解广告商的点击数的话那就算了.

------------------------------------------------------------

似乎那是不可能的!!!不信,我给你一个我作的你破破 --------------------编程问答-------------------- 对面的网页你能够控制吗?不行就没什么戏 --------------------编程问答-------------------- --------------------编程问答-------------------- 一看就是走旁门的想法,
大家还给他支招......


确切的说,
这个想法不现实,
和B/S架构的初衷冲突!! --------------------编程问答-------------------- to 1、2 个问题:

photo.htm


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1">
       <input id="Text1" type="text" value="1" /> <input id="Button1" type="button" value="test" onclick="nav();" />  
    </form>
    <iframe id="ifr" border="0" width="0" height="0"></iframe>
    <script language="javascript" type="text/javascript">
    function nav()
    {
        var u = "http://www.test.com/aaa.aspx?src=" +document.getElementById("Text1").value;
        document.getElementById("ifr").src = u;
    }
    </script>
</body>
</html>


aaa.aspx

<form id="form1" runat="server">
    <div>
    <a id="a1" href="WebForm1.aspx" target="_blank">a</a><br />
    <a id="a2" href="http://www.baidu.com" target="_blank">b</a>
    </div>
    </form>
   <script language="javascript" type="text/javascript">
   function getQueryStrValue(str, queryString) {
        var reg = new RegExp("(^|&|\\?)" + queryString + "=([^&]*)(&|$)");
        var r = str.match(reg);
        if (r != null) return unescape(r[2]); return null;
    }
    function InitPage(){
         var search = document.location.search.substr(1);
         if (search) {
            var v = getQueryStrValue(search, "src");
            
            //test
            if(v==1)
                document.getElementById("a1").click();
            else
               document.getElementById("a2").click();
            //
         }
    }
    InitPage();
   </script>


to 3:
判断请求参数
1、模拟表单POST提交(楼上有说)
2、WebRequest
等等 
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,