node/angular 应用程序的内容安全违规

Content security violation with node/angular application

基本上,我有一个用 node/express/angular/javascript 编写的功能完备的网站。几个月后我回到了这个项目,当我在本地节点 js 上 运行 时,我什至无法显示应用程序的任何页面。我一直收到无法获取“{webpage}”的消息,当我进入控制台时,它会出现大量我以前从未见过的不同内容安全违规行为。

我尝试重新安装所有依赖项,但没有成功。我决定创建一个新项目,并只使用我的大型项目代码的基本要素,看看我是否可以让它工作,但仍然没有运气。

我用于基本问题的代码如下:

Index.js(服务器)

var express = require("express");
var bodyParser = require('body-parser');
var app = express();
var http = require('http');

// app is currently a empty file where my angular code will go
app.use(express.static("public"));

// app = Angular 
app.use(function(err,req,res,next){
    console.log(err);
    res.send({error: err});
})



// *** Server Connection *** //
var server = http.createServer(app).listen(4000, function(){

    console.log("Connected to DB");


});

HTML 页数:

<!DOCTYPE html>
<html lang="en" ng-app="holidayManagementSystem" >
   <head>

      <meta charset="UTF-8">
      <title>Homepage</title>
      <script src="/angular.js" type="text/javascript"></script>

      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-route.js"></script>

      <!-- Bootstrap CSS -->
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

   </head>
   <body>





   </body>
</html>

有人在您的应用程序的网页上放置了 Content-Security-Policy HTTP headers。

读这个:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy

查看浏览器开发工具的“网络”选项卡,您可以在其中看到 html 页面上的 HTTP headers。您的应用程序是否使用 nginx 反向代理服务器?如果是这样,那可能就是插入那些 headers 的地方。

如果这些 headers 不是你自己放的,可能是需要提高沟通技巧的热心信息安全人员添加的。

所有浏览器在获取网页时都会尝试获取 /favicon.ico。他们在浏览器选项卡和快捷方式中使用它。如果它丢失了,也不会造成任何伤害。如果你想把它放在你的服务器上,URL https://app.example.com/favicon.ico 会检索它。

您也可以使用serve-favicon express middleware发送。

如果您不确定如何制作 .ico 文件,您应该查找它。