Como fazer o OS X enviar o endereço IP LOCAL nos cabeçalhos de solicitação www?

0

Eu preciso enviar o endereço IP local de um computador junto com os cabeçalhos ao fazer solicitações a um website. Semelhante à maneira como você pode obter o _SERVER["REMOTE_ADDR"] em php, mas o ip local (por exemplo, 192.168.100.1). Essa será uma intranet para que o ambiente possa ser controlado. Qualquer coisa pode ser instalada no computador, etc.

Isso estará em um computador Mac OS X. Esperando pelo Safari e pelo Firefox. Mas estaria aberto a usar um.

Alguém sabe se isso é possível? Muito obrigado.

    
por Louis W 24.02.2010 / 23:17

1 resposta

0

Eu acho que chamadas para de alguma forma adicionar um cabeçalho X-Forwarded-For , como alguns servidores proxy fariam. Mas, embora não seja um padrão oficial, gostaria de saber se "permite" endereços IP de uma faixa privada.

Se você pode fazer com que seus navegadores usem o GlimmerBlocker proxy, você pode adicionar esses cabeçalhos através de um Modificar regra de solicitação :

  • Adicione uma nova regra (opcionalmente, primeiro adicione um novo filtro para armazenar a regra)
  • No painel tipo de regra , defina Ação para Modificar solicitação
  • No painel solicitação , adicione:

    gb.request.headers['X-Forwarded-For'] = '192.168.100.1';
  • Ou, para usar o endereço IP local real, presumo :

    var myIp;
    for(var k in gb.network.interfaces){
      var x = gb.network.interfaces[k];
      if(!x.IPv4){
        continue;
      }
      for(var i in x.IPv4.addr){
        var ip = x.IPv4.addr[i];
        // An interface can have multiple IP addresses, but assume
        // it has just a single address which is not localhost:
        if(ip == "127.0.0.1"){
          continue;
        }
        myIp = ip;
        break;
      }
    }
    gb.request.headers['X-Forwarded-For'] = myIp;
    
  • Opcionalmente, aplique a regra apenas a determinados hosts.

(Eu também estou bastante curioso sobre o porquê desta questão ...)

    
por 24.02.2010 / 23:47