2017-04-24 1 views
1

나는 노드 JS를 사용하고 그리고 난 다음의 조건API 만 브라우저에서 실행하도록 제한하는 방법은 무엇입니까?

app.route('/students').all(policy.checkHeader).get(courses.list) 

exports.checkHeader = function(req, res, next) { 
    var headers = req.headers; 
     if (headers['upgrade-insecure-requests'] || headers['postman-token']) { 
     res.status(401).json('Page not found'); 
    } else { 
     return next(); 
    } 

} 

내 프로세스가 correct.I 공통 검색하고 있는지 잘 모르겠습니다을 넣어 browser.For에 otherthan API의 accurance을 제한하는 정책을 넣어 매개 변수 (헤더 매개 변수)는 브라우저 용으로 만 존재합니다. 아무도 도와 주실 수 없습니다. 고맙습니다.

답변

2

사용할 수 있습니다.

HTTP 서버에 대한 HTTP 요청을하는 클라이언트의 유형을 제어 할 수 없습니다.

수신 한 클라이언트의 유형을 안정적으로 식별 할 수 없습니다.

모든 고객 맞춤 클라이언트가 upgrade-insecure-requests 헤더를 보내거나 보낼 수 없습니다. 동역자 우편 배달부 토큰. 동의 사용자 에이전트. 다른 모든 것들.

제한하는 유일한 방법은 요청에 일종의 비밀을 요구하는 것입니다. 일반 웹 브라우저에서 액세스하려면 브라우저 개발자 도구를 통해 비밀이 유출됩니다.

관련 문제