기본적으로 나는 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 page:
<!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>
Somebody has placed Content-Security-Policy HTTP headers on the web pages of your application.
Read this: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
Take a look in the Network tab of your browser devtools where you can see the HTTP headers on your html pages. Does your application use an nginx reverse proxy server? If so it's possible that's where those headers are inserted.
If you didn't put those headers there yourself, maybe they were added by a zealous infosec person who needs to work on their communication skills.
모든 브라우저 /favicon.ico
는 웹 페이지 를 가져올 때마다 가져 오기를 시도 합니다. 브라우저 탭과 바로 가기에서 사용합니다. 누락 된 경우 해를 끼치 지 않습니다. 원하는 경우 URL https://app.example.com/favicon.ico
이 검색 할 서버에 넣으 십시오.
당신은 또한 사용할 수있는 역할을-파비콘 익스프레스 미들웨어 를 제공합니다.
.ico
파일 을 만드는 방법을 잘 모르겠다면 찾아보아야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다