Firefox OS验证程序中检测到CSP违规

时间:2013-10-06 13:02:36

标签: javascript firefox firefox-os

我在firefox os验证器中有这条消息:

Erreur:您的代码可能正在执行违反特权应用的CSP(内容安全策略)的操作。 您可以在Mozilla Developers网站上找到有关CSP允许和不允许的内容的更多信息。 https://developer.mozilla.org/en-US/docs/Security/CSP

www/index.html
16
17
<script type="text/javascript" src="js/select2.js"></script>
<script>

代码index.html:

<!DOCTYPE html> 
<html>
<head>
    <title>Chri App</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="js/jquery.css.min.css" rel="stylesheet"/>
    <script src="js/jquery-1.9.1.min.js"></script>
    <script src="js/jquery.mobile-1.3.1.min.js"></script>
            <meta charset='utf-8'> 
        <meta name="format-detection" content="telephone=no" />
                <link rel="stylesheet" type="text/css" href="css/index.css" />
        <meta name="viewport" content="width=device-width, initial-scale=1">  
        <link href="js/select2/select2.css" rel="stylesheet" > 
        <link href="css/web_app.css" rel="stylesheet" > 
        <script src="main.js"></script>
        <script type="text/javascript" src="js/select2/select2.js"></script> 
        <script>

        $(document).bind('pageinit',function(e ){


        $.support.cors = true;
        $.mobile.allowCrossDomainPages= true;
        $.mobile.selectmenu.prototype.options.nativeMenu = false;





            // When the testform is submitted
        $("#search-form-location").select2();
        $("#search-form-category").select2();
            $("#testform").submit(function() {

            $.mobile.loading('show');
.......

你有什么想法吗?

1 个答案:

答案 0 :(得分:3)

如果您正在编写特权(或认证)应用程序,则需要遵守多项要求,以使其更加强大 - 不易受到各种攻击。其中一个限制是禁止内联javascript ,即<script>标记中嵌入的javascript - 您应该将这些内联脚本放入外部.js文件中,并通过{{ 1}}属性。

查看您的代码,这应该是验证者抱怨的原因(请参阅您在那里的jQuery src块)。将此块放到外部文件中应解决此问题。

您可以在MDN: Apps CSP上了解有关其他CSP要求和限制的更多信息。