Main Menu

Login Form

Internet

Dynamische IP

Dynamische IP selbst regeln mit PHP

Wer selbst Servedienste anbieten oder nur mal nen bischen rumspielen will benötigt eine feste IP und die ist teuer.
Man kann das ganze umgehen wenn man diverse Dienste wie zB. Noip benutzt und mit Umleitung arbeitet während der Dienst immer die IP aktualisiert.

Das kann man auch selbst. Man benötigt etwas Webspace bei einem Hoster der auch PHP kann, eine Domain bzw Subdomain und eine Fritzbox.

Legen Sie im Webspace einen Ordner an (zb. myIp). kopieren den Script in eine zb. myIp.php und legen Sie eine Home.txt an.

Fritzbox für dynamische Ip einrichen.Die Fritzbox muss folgende URL updaten.
mydomain/myIp.php?pass=mypassword&meineip=<ipaddr

Tragen Sie das unter URL ein.
Alles andere ist glaub ich nur für DynIP Dienste notwendig die wir ja gar nicht nutzen.

Dieses ist der Inhalt der myIp.php

<?php
ob_start();
// DynDNS über Fritzbox
//
// Passwort und Port nach belieben anpassen.
//
// In der Fritzbox das Script z.b. so aufrufen:
// Update Url: www.MeineDomain.de/ordner/filename.php?pass=Passwort&meineip=<ipaddr>
// Domainname: MeineDomain.de/
//
// Dieses Beispiel leitet zu der "IP:8080/cgi-bin/filemanager/" weiter...
 
$pwort = 'mypasswort'; // Hier sollte man sein persönliches Passwort für die Erneuerung der IP eintragen.
$port = ':80/'; // Diese legt nur den "Port" und evtl Parameter fest.Kann auch leer bleiben
 
// Bei Aufruf dieses Scriptes würde die IP aufgerufen, z.b. "http://127.0.0.1:8080/cgi-bin/filemanager/"
 
$dyntxt = "homeIP.txt";
$pworttest = $_GET["pass"];
$IP = $_GET["meineip"];
 
//Ist das Passwort richtig wir die IP erneuert.
 
if (file_exists($dyntxt)){if($pworttest==$pwort)
{
$a = fopen("$dyntxt", "w");
$dynamicip = $_SERVER["REMOTE_ADDR"];
fwrite($a, $IP);
fclose($a);
}
 
else
{
$a = fopen("$dyntxt", "r+"); //Kein Passwort, dann nur IP auslesen und weiterleiten
$dynamicip = fread($a,filesize($dyntxt));
fclose($a);
}}
 
$url = "http://".$dynamicip.""; //Hier kann man so einiges nach eigenen Bedürfnissen anpassen.
header("Location: $url");
ob_flush();
ob_end_clean();
?>

Diesen Script habe ich im Internet gefunden. Hat aber bei meinem Provider nicht funktioniert. Nach langem suchem habe ich unten die ob_ mit angefügt und jetzt funzt es. Ich bin kein Ingeneur sonder Techniker. Als Techniker weis man nicht so genau wie das funktioniert aber  man kriegt es zum laufen.