IP Verzerrung

djjlx

---???---
ID: 62937
L
9 Mai 2006
599
21
Hy!

Also ich hab folgendes Problem!

Hab mit eine TLD geholt und wenn ich diese auf hiding stell damit der richtige hoster nicht sichbar ist wird die IP adresse verzerrt.

Da ich eine Fixe IP hab muss in der reloadsperre meine IP trinnen stehen tut sie nicht steht aber eine 217.111.XXX.XXX und ich habe eine 62.XXX.XXX.XXX

Nun kommt aber immer die Reloadsperre auch wenn der link nicht in der sperre drinnen ist.

Ruf ich den link über die hosterdomain auf funktionierts aber über die TLD nicht!

Kennt jemand dieses Problem bzw. weiß was man da machen kann?

Danke

LG
 
Kann es sein, das es sich dabei um die IP von "deinem" Server handelt?? Vielleicht kann man dir helfen, wenn du den Code zeigst wo du die IP speicherst...
 
Also ich hab jetzt ein bisschen herumgespielt!

Das Problem genau ist das der Hoster meiner TLD seine IP weitergibt und nicht die tatsächliche IP des Users. Das ist deshalbt das die TLD in der adresszeile bleibt und man damit auch unterseiten ansprechen kann.

Der Code zum IP aus lesen ist:
PHP:
$time=time();
// Aufräumen
  $abfrage = "SELECT time, ip FROM xxxxxx";
  $ergebnis = mysql_query($abfrage);
if (empty($ergebnis)) { 
         trigger_error('mySQL ERROR ('.mysql_errno().'): '.mysql_error(), 
                       E_USER_ERROR); 
  } 
  while($row = mysql_fetch_object($ergebnis))
    {
    $atime=$row->time;
    $mip=$row->ip;
    $ntime=$atime+$reload;
if(@$ntime<=$time and $atime) { mysql_query("DELETE FROM xxxxxx WHERE ip='$mip' "); }
    } 



// Fehlt der User?

if(!@$user) { $fehler=1; }
if(@$user) {
$ref=$user;
$ip = getenv("REMOTE_ADDR");

  $abfrage = "SELECT * FROM xxxxxxx WHERE ip = '$ip'";
  $ergebnis = mysql_query($abfrage);
if (empty($ergebnis)) { 
         trigger_error('mySQL ERROR ('.mysql_errno().'): '.mysql_error(), 
                       E_USER_ERROR); 
  } 
  while($row = mysql_fetch_object($ergebnis))
    {
    $mtime=$row->time;
    }

if(@$mtime) {

$ntime=$reload+$mtime;
if($ntime>=$time) {

$abctime=$ntime-$time;
include("reloadsperre.php");
}
}

Hab schon alles probiert was mir einfällt aber da komm ich nicht weiter!
Da wenn man die Seite aktualiesiert wird auch eine neue IP vom TLDhoster übergeben und somit hat die Reloadsperre keinen Sinn!

LG
 
Nun ist es eine Frage des Scriptes. Es wird einfach nicht dich richtige Remote Adresse ermittelt.

In Zeile 24 liegt für mich der Fehler. Ersetze das mal hiermit:
Code:
$ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];

Gutes gelingen!
boCKY
 
Also wenn es mit PHP funktionieren soll, dann muss das, was du brauchst, im $_SERVER[]-Array liegen.

Mach mal eine Datei mit
PHP:
<?php
header("content-type: text/plain");
print_r($_SERVER);
?>
, ruf sie auf und guck nach, ob da die IP ist, die du haben willst.
 
Danke habs jetzt geschafft!

MIt diesen Befehl
PHP:
$ip = getenv("HTTP_X_UD_REMOTE_ADDR");

Da wir dann meine tatsächliche IP angezeigt!

Danke

LG