阻止从主机A到主机B nodejs的请求

时间:2014-10-19 17:10:43

标签: node.js cors

我的nodejs httpserver(我不使用快递)托管在HOST A,域名:www.host-a.com并执行此操作:

dispatcher.addListener("post", "/admin/insert_data", function(req, res) {
var body='';
 req.on('data', function(chunk) {
  body += chunk.toString();
});
req.on('end', function() {
  var parsedbody = require('querystring').parse(body);
  MongoClient.connect('mongodb://localhost:27017/database1', function(err, db) {
    if (err) {
      res.writeHead(500) ;
      return res.end('Database offline') ;
    }
    console.log("Connected correctly to server");
    var col = db.collection('mycollection');
    col.insert(parsedbody, function() {
      db.close();
      var json = JSON.stringify({status: "0"});
      res.writeHead(200, { 'Content-Type': 'application/json' });   
      res.end(json);

  });
});
});  
});

客户端如下:

    $("form[name='manage_notizie']").submit(function(e) {

    req="../admin/insert_data"
    var tmp_notizia = $( "input[name=notizia]" ).val();
    var tmp_id_notizia = $( "input[name=id_notizia]" ).val();

    $.ajax({
        url: req,
        type: "POST",
        data: {id_notizia:tmp_id_notizia, notizia:tmp_notizia},
        async: false,
        success: function (msg) {
            location.reload();
        },
        error: function (msg) {
            alert("Errore nel server")
        },
        cache: false,
        });

    e.preventDefault();
});

我知道,如果我没有指定任何访问控制允许来源,那么只有当请求从自身(主机a)到达时,服务器才会响应。

现在,例如,如果请求来自www.host-b.com到www.host-a.com/insert_data,我的服务器将不会回复请求(就像我想要的那样),但它会执行计算(这是我不想要的)

我错过了什么吗?

0 个答案:

没有答案