首页 > 解决方案 > 在包含的文件中使用表单侦听器的内容安全策略 jQuery 错误

问题描述

我收到了各种 CSP 错误,如下所示:

Content Security Policy: Ignoring “'unsafe-inline'” within script-src or style-src: nonce-source or hash-source specified
Content Security Policy: Ignoring “'unsafe-inline'” within script-src: ‘strict-dynamic’ specified
Content Security Policy: Ignoring “https:” within script-src: ‘strict-dynamic’ specified

我正在尝试做的事情:在下拉表单字段上使用 jQuery 侦听器来动态更改表单旁边显示的内容。

表单.php

<form>
  <!-- START Sport -->
  <div class="form-group">
    <label for="selectSport">SPORT</label>
    <select class="form-control" id="selectSport" name="selectSport">
      <option value="baseball">Baseball</option>
      <option value="basketball">Basketball</option>
      <option value="football">Football</option>
      <option value="hockey">Hockey</option>
      <option value="soccer">Soccer</option>
    </select>
  </div>
  <!-- END Sport -->
  <button type="submit" class="btn btn-primary">Submit</button>
<!-- END Button -->
</form>

<!-- Form listener -->
<script>
  $('#selectSport').change(function() {
    alert($(this).val());
  });
</script>

该文件包含在包装文件中(因为表单将包含在几个不同的页面中):

应用程序.php

<body>
  ...
  <div>
    <?php include ('./app/form.php')?>
  </div>
  ...
</body>

问题似乎是文件的结构。如果我将表单和 jQuery 放入 app.php,则没有问题。我在共享托管服务器上,因此无法编辑 CSP 策略。

谢谢!

标签: javascriptphpjqueryforms

解决方案


推荐阅读