Como obter o IP do Host que fez a chamada curl
20/07/2018
0
Bom dia
Preciso de ajuda na seguinte situação.
Um usuário U acessa o index.php que está no Servidor A.
O index.php do Servidor A faz a seguinte chamada de uma função que se encontra no Servidor B:
Como faço para que o Servidor_B obtenha alguma identificação exclusiva do Servidor A, Tipo endereço IP, ou hostname, ou algum código, ou algum hash de forma que o Servidor_B saiba que foi o Servidor A quem fez a chamada e não um outro servidor qualquer. Eu não quero o IP do Usuário U não.
Muito Obrigado por qualquer ajuda.
Preciso de ajuda na seguinte situação.
Um usuário U acessa o index.php que está no Servidor A.
O index.php do Servidor A faz a seguinte chamada de uma função que se encontra no Servidor B:
$ch = curl_init(); $p = array(((isset($relSint['mov'])) ? $relSint['mov'] : array('00:00:00')), 'maxDigitsHour' => 3); $postData = array( 'key' => '{. . .}', 'function' => 'NomeDaFuncao', 'data' => json_encode($p) ); curl_setopt_array($ch, array( CURLOPT_URL => 'https://Servidor_B/', CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $postData )); $output = curl_exec($ch); $out = json_decode($output, true);
Como faço para que o Servidor_B obtenha alguma identificação exclusiva do Servidor A, Tipo endereço IP, ou hostname, ou algum código, ou algum hash de forma que o Servidor_B saiba que foi o Servidor A quem fez a chamada e não um outro servidor qualquer. Eu não quero o IP do Usuário U não.
Muito Obrigado por qualquer ajuda.
Guilherme Vasconcellos
Curtir tópico
+ 0
Responder
Post mais votado
31/07/2018
Se o servidor for Unix ou Linux recomendo utilizar um SSH com private/public key authentication que é muito mais seguro.
Ou você pode fazer o Servidor A tentar se autenticar no servidor B gerando uma chave temporária no servidor B.
Quando o servidor A realizar a chamada passa essa chave que irá durar 10 minutos por exemplo.
Algo parecido com o OAuth funciona.
Você pode tentar olhar no header do HTTP mas não é seguro.
O header é o X-Forwarded-For
Ou você pode fazer o Servidor A tentar se autenticar no servidor B gerando uma chave temporária no servidor B.
Quando o servidor A realizar a chamada passa essa chave que irá durar 10 minutos por exemplo.
Algo parecido com o OAuth funciona.
Você pode tentar olhar no header do HTTP mas não é seguro.
O header é o X-Forwarded-For
Carlos Augusto
Responder
Clique aqui para fazer login e interagir na Comunidade :)