Kirjoittaja Aihe: [ ratkaistu ] Asiakasosoite php:llä  (Luettu 1674 kertaa)

teele

  • Käyttäjä
  • Viestejä: 816
    • Profiili
[ ratkaistu ] Asiakasosoite php:llä
« : 28.03.20 - klo:12.10 »
Voisiko php:llä jotensakin luotettavasti varmistaa asiakaskoneen osoitteen. Jos esimerkiksi asiakas on vahingossa avannut 2 ikkunaa samalla koneella, niin palvelin haluaisi varmistaa, että ei pidä yhteyttä turhan takia kaksinkertaisena.

Netistä löytyi tällaisia tapoja asiakkaan osoitteen "varmistamiseksi", mutta mikä niistä on oikeasti varma ja mikä ei, on epäselvää. Ne eivät  näköjään edes ole aina palvelimen $_SERVER-taulukossa.

Koodia: [Valitse]

<?php

print( $HTTP_SERVER_VARS['HTTP_X_CLUSTER_CLIENT_IP'] . ' a' .  '</br>'); 
print( 
$_SERVER['REMOTE_ADDR'] . ' b' '</br>');
print( 
$_SERVER['HTTP_X_FORWARDED_FOR'] . ' c' '</br>');
print( 
$_SERVER['HTTP_VIA'] . ' d' '</br>');
print( 
$_SERVER['HTTP_CLIENT_IP'] . ' e ' '</br>');
print( 
$_SERVER['HTTP_CF_CONNECTING_IP'] . ' f' '</br>');
print( 
$_SERVER['HTTP_XREAL_IP'] . ' g' .  '</br>');
print( 
$_SERVER['HTTP_REFERER'] . ' h' .  '</br>');

?>


Jollain tavalla palvelimen kai pitää tietää, mitä se on lähettämässä minnekin, missä muuttujassa tämän tiedon pitäisi olla.

MUOK.

Tämä taitaa toimia

Koodia: [Valitse]
print( $_SERVER['REMOTE_ADDR']?:($_SERVER['HTTP_X_FORWARDED_FOR']?:
          $_SERVER['HTTP_CLIENT_IP'])  );




« Viimeksi muokattu: 28.03.20 - klo:16.10 kirjoittanut teele »

matsukan

  • Käyttäjä
  • Viestejä: 2148
    • Profiili
Vs: [ ratkaistu ] Asiakasosoite php:llä
« Vastaus #1 : 30.03.20 - klo:21.46 »

Muista että yhden ip:n takana voi olla useampi asiakaskone.  Tuon HTTP_CLIENT_IP osalta niin tuon tallettamisessa pitää miettiä tosi tarkkaan varsinkin kun ainoa arvo mihin voi luottaa on tuo REMOTE_ADDR. Kaikki muut voi mitä tahansa. 

Ainoa järkevä ratkaisu on keksien käyttö.
Pohjois-pohjanmaa
-- motto:  backupin tarve huomataan aina liian myöhään

_Pete_

  • Käyttäjä
  • Viestejä: 1836
  • Fufufuuffuuu
    • Profiili
Vs: [ ratkaistu ] Asiakasosoite php:llä
« Vastaus #2 : 01.04.20 - klo:08.26 »
Voisiko php:llä jotensakin luotettavasti varmistaa asiakaskoneen osoitteen. Jos esimerkiksi asiakas on vahingossa avannut 2 ikkunaa samalla koneella, niin palvelin haluaisi varmistaa, että ei pidä yhteyttä turhan takia kaksinkertaisena.

Onko se ohjelmiston tehtävä yrittää päättää onko asiakkaalla käytössä 1 vai 2 vai sata yhteyttä?