首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Mozilla中处理同源策略

如何在Mozilla中处理同源策略
EN

Stack Overflow用户
提问于 2011-11-01 16:43:20
回答 2查看 290关注 0票数 0

我正在我的项目中实现YUI自动完成。我已经创建了一个提供自动补全建议的web服务。当我在同一台机器上部署我的应用程序和web服务时,所有的事情都运行得很好。但是当我在不同的机器上部署web服务时,它在Firefox中不起作用(但在IE中起作用)。我认为由于同源策略,它在Mozilla中不起作用。

下面是我的自动补全代码

代码语言:javascript
复制
<script type="text/javascript">
YAHOO.example.BasicRemote = function() {

    // Using an XHRDataSource to connect to web service
   var oDS = new YAHOO.util.XHRDataSource("http://host_other_than_my_machine/i2b2/services/AutocompleteService/getCodes"); 


    // Set the responseType as XML
    oDS.responseType = YAHOO.util.XHRDataSource.TYPE_XML;

    // Define the schema of the delimited results
    oDS.responseSchema = { 
                            resultNode: 'code', 
                            fields: ['value']             
                         }; 

    // Enable caching
    oDS.maxCacheEntries = 0;

    // Instantiate the AutoComplete
    var oAC = new YAHOO.widget.AutoComplete("myInput", "myContainer", oDS);

    return {
        oDS: oDS,
        oAC: oAC
    };
}();
</script>   

我的问题是

1)同源策略是否真的有问题?如果是,那么IE是否没有绑定到与我的代码在IE中运行时相同的策略?

2)如何摆脱它?我知道一些php代码可以用来重定向请求,但是我如何在这里使用它呢?

~Ajinkya。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-01 19:20:01

使用由Yahoo提供的PHP代理,并将所有请求重定向到它。http://developer.yahoo.com/javascript/howto-proxy.html

票数 0
EN

Stack Overflow用户

发布于 2011-11-01 16:51:40

您的问题可能与AJAX请求的来源有关,您应该查看以下内容:Cross Origin Request Security

基本上,对于apache,您需要将以下内容添加到"host_other_than_my_machine“.htaccess文件中:

代码语言:javascript
复制
<IfModule mod_headers.c>
  Header set Access-Control-Allow-Origin "http://trusted.site"
</IfModule>

当然,将"http://trusted.site“替换为您将从中发出请求的域。

编辑:如果您需要允许访问多个远程域,您可以简单地使用:

代码语言:javascript
复制
Header set Access-Control-Allow-Origin "*"

这通常不应该是一个安全问题,但一定要彻底考虑您的特定情况,即如果您通过AJAX响应提供敏感信息。

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

https://stackoverflow.com/questions/7964158

复制
相关文章

相似问题

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