【问题标题】:Django and Ajax Push Engine (APE): Unsafe JavaScript attempt to access frame with URLDjango 和 Ajax 推送引擎 (APE):不安全的 JavaScript 尝试使用 URL 访问框架
【发布时间】:2012-05-14 14:19:59
【问题描述】:

我正在尝试为我的 Django 项目设置 APE 服务器。

设置

  1. 我按照 APE wiki 中的设置说明进行操作:Simple APE Configuration

    我不得不更改端口。我的虚拟主机配置如下:

    NameVirtualHost 127.0.0.1:8100
    Listen 127.0.0.1:8100
    <VirtualHost 127.0.0.1:8100>
        ServerName local.ape-project.org
        ServerAlias ape.local.ape-project.org
        ServerAlias *.ape.local.ape-project.org
    
        DocumentRoot "/path/to/my/project/ape-jsf/"
    </VirtualHost>
    

    运行http://local.ape-project.org:8100/Tools/Check/ 成功运行所有测试并返回消息:All test done. Now you can play with your APE \o/

  2. Django 在 8000 端口上运行:

    python manage.py runserver_plus 0.0.0.0:8000

  3. 我按照第一个教程的说明进行操作:Tutorial: Color Changer

    我将 JavaScript 代码放入我的 django 项目中(包含 Clients/JavaScript.js)。

问题

当我打开页面时,我得到这个错误:

Unsafe JavaScript attempt to access frame with URL http://2.ape.local.ape-project.org:6969/?[{%22cmd%22:%22script%22,%22params%22:{%22domain%22:%22127.0.0.1%22,%22scripts%22:[%22http://local.ape-project.org:8100/static/ape-jsf/Source/mootools-core.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Core/APE.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Core/Events.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Core/Core.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Pipe/Pipe.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Pipe/PipeProxy.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Pipe/PipeMulti.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Pipe/PipeSingle.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Request/Request.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Request/Request.Stack.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Request/Request.CycledStack.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Transport/Transport.longPolling.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Transport/Transport.SSE.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Transport/Transport.XHRStreaming.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Transport/Transport.JSONP.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Core/Utility.js%22,%22http://local.ape-project.org:8100/static/ape-jsf/Source/Core/JSON.js%22]}}]
from frame with URL http://127.0.0.1:8000/mydjangoapp/somepage/. Domains, protocols and ports must match.

我了解不同域和端口存在安全问题。

但这应该如何工作?

【问题讨论】:

    标签: javascript python django ape


    【解决方案1】:

    事实证明,很难配置同时运行Aperunserver 的环境。此问题的解决方案是使用另一个 Web 服务器。

    我选择了 Apache 和 mod_wsgi 模块:

    【讨论】:

    • 我遇到了同样的问题。我有 dev.mydomain.com 和 ape.mydomain.com。这是您的设置方式,还是您从同一个域运行所有内容?谢谢。
    • 我从他们的谷歌群组中找到了答案。通过将 {transport:2} 作为参数添加到 client.load() 就像 client.load({transport: 2});它适用于不同的子域groups.google.com/forum/?fromgroups=#!searchin/ape-project/…
    • 顺便说一句,我放弃了 APE,因为有更好的选择。目前,我对 sockjs 非常满意。请参阅我的问题的出色答案:stackoverflow.com/a/10950702/675065
    • 我会检查一下,看看情况如何。我不需要相同数量的消息,但可能需要很多连接。我需要一些东西来避免许多用户每 10 分钟间隔轮询 1 或 2 条消息。我将在 APE 上运行一些测试,如果这不起作用,请切换到 sockjs。谢谢。
    • 没问题,告诉我进展如何。
    猜你喜欢
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多