JavaScript http get请求-允许引用数据以SSL发送

时间:2018-08-14 04:47:29

标签: http-headers http-referer angularjs-http request-headers nodejs-server

我在https://example.com/app.js上有以下代码

var app = angular.module('ngApp', []);
app.controller('ngCtrl', function($scope, $http){
    $http.get('/getPosts')
    .then(function(response){
        $scope.posts = response.data;
});

然后https://example.com/getPosts检查请求的来源(或引荐来源)是否为https://example.com。但是该网站基于SSL,因此没有引荐标头发送到https://example.com/getPosts。我希望为单个JavaScript http get请求启用标头引用。我该怎么办?


问题描述了是否很难理解:---

我有一个基于SSL的博客网站,该网站使http获得对https://example.com/getPostsJSON之类的链接的请求,以获取帖子数据。 但是目前,任何网站都可以向我的Web服务器(NodeJS)发出JavaScript http获取请求,获取帖子数据,并可以在其网站上显示这些帖子。这不公平。因此,我只是想在NodeJS代码中检查标头引用信息,并且仅当get请求是从我网站的JavaScript发送来的,这意味着只有example.com从https://example.com/getPostsJSON请求JSON数据,我才想发送正确的json响应。否则,我想回应一个http访问被拒绝的错误。因此,我使用NodeJS request.headers.referer代码检查引荐网站是否属于我自己的网站。 但是我听说在基于SSL的网站中,引荐来源标头将为空,这对于这种情况不利。使用JavaScript发送http get请求时(在我的情况下为AngularJS $ http),我可以启用HTTP标头引用信息发送吗?那怎么办?

0 个答案:

没有答案