Eigene IP im Netz veröffentlichen - PHP Script

Ist das Script nützlich ?


  • Anzahl der Umfrageteilnehmer
    206
Ich habe eine neue Vesion auf meiner Webseite liegen. Diese zeigt gleich einen Direktlink zum Webserver und FTP-Server an. Somit muß man nur noch draufklicken.
 
Ich habe das Script mal ein bischen erweitert:

mit .../IPinfo.php?ftp wird man gleich zur FTP Seite (ftp://Deine.IP.Adre.sse) weitergeleitet,

mit .../IPinfo.php?web direkt zum Webserver.


Hinweis: Diese FTP-Umleitung funktioneirt nur mit Webbrowsern und der FTP-Server muß einen anonymous Zugang aufweisen, sonst wird das nix...
 
Hi,

also ich finde das script auch klasse da ich mit dyndns in der FB so bisher meine Probleme hatte. Es wurde einfach nie zuverlässig geupdatet und wenn ich dann Fernwartung machen wollte kam ich nicht drauf!

Ich hätte aber gerne noch eine Ergänzung:

Könnte mir jemand sagen wie man den script Code abändern muss, wenn man mehrere Boxen einbinden will. Ich habe mehrere Standorte mit einer Box und würde nun gerne alle Ip Adressen dieser Boxen in der Übersicht sehen.

Könnte man da nicht einfach weitere Variablen einrichten für jeden Standort, also myip2 , myip3 .....

Eine Lösung?

Grüße
 
Am einfachsten ist es, wenn Du das Script in unterschiedliche Verzeichnisse ablegst.
Alternativ das script umbenennen und im Quellcode den Dateinamen ändern. Es gibt eine Variable am Anfang $datei, die musst Du ändern.

Mehrere in einem Script verarbeiten würde auch gehen, erfordert aber größerer Umbaumaßnahmen. Ich wollte das Script möglichst einfach halten.

Wieviele verschiedene hättest Du denn?
 
Hi,

na so 5 bis 10.
Also umbenennen wäre a ne Möglichkeit, aber es wäre schon einfacher, wenn man das über nur 2 Dateien lösen könnte.

Grüße
 
Hi,

ich habs dann mal für meine Bedürfnisse umgeschrieben. Vielleicht hat ja der ein oder andere auch was davon!

Über Feedback würde ich mich freuen.
Bin kein Programmierer und habe mir das Script durch try and error erstellt.
Also bitte nicht über den vielleicht unkonventionellen Code wundern :)

Grüße
Patt

Code:
<?php
/*
	Version vom 23.12.2006 by Patt (FK)


	Danke an Karl Loncarek für die Ursprungsdatei

	Funktionsumfang meiner Version:

	Ermitteln der IP-Adresse und abspeichern in Datei IPinfo.txt

	Die IP-Adresse wird als Parameter vom Router übergeben:
	Beispiel: .....IPinfo.php?myip=192.168.1.1

	!!Dies geschieht aber nur, wenn auch der Parameter name übergeben wird!!
	Beispiel:......IPinfo.php?myip=123.456.789&name=Standort1

	wird keine IP-Adresse angegeben, wird die des Browsers ermittelt
	Beispiel: .....IPinfo.php?myip=

	Wenn der Eintrag für den Parameter name schon in der txt vorhanden ist,
	wird dieser gelöscht und mit der aktuellen IP neu geschrieben.

	wird der parameter delete=irgendwas übergeben,dann wird der entsprechende
	Eintrag aus der Textdatei gelöscht.

	Auf die Weiterleitung mit FTP und http habe ich in meiner Version verzeichtet.


*/



	$dateiname = "IPinfo.txt"; //Dateiname als Speicherort für die IP-Adresse

	# Verhindern, dass Seite aus Cache geladen wird
	header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
	header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit


if (file_exists($dateiname)) //existiert die Datei?
		{
		//nichts machen
		} else {
		//Datei anlegen
		$fp=fopen($dateiname,"w");
		fwrite($fp,"");
		fclose($fp);
		chmod ($dateiname,0777);
		}



if (isset($_GET['name']))  //wurde parameter ?name=... übergeben?
{

	$name = $_GET['name']; //Name aus parameter übernehmen


	if (isset($_GET['myip']))  //wurde parameter ?myip=... übergeben?
	{
		$ipadress = $_GET['myip']; //IP-Adresse aus parameter übernehmen
		if ($ipadress == "") $ipadress = $_SERVER['REMOTE_ADDR']; //falls keine IP übergeben wurde, die INternet-IP ermitteln

		$oldfile = $dateiname;
		$newfile = $dateiname."new";

		$old = fopen($oldfile, "r");
		flock($old, 1) or die("Kann die Quelldatei $oldfile nicht locken.");
		$new = fopen($newfile, "w");
		flock($new, 2) or die("Kann die Zieldatei $newfile nicht locken.");

		while ($line = fgets($old, 100000)) {


		if (preg_match("/$name/", $line)) {

		continue;
		}
		fputs($new, $line);

		}

		fclose($old);
		fclose($new);

		$datei = $dateiname;
		$dateineu= $dateiname."new";

		//Hier wird die "Unaktuelle" User-Datei gelöscht
		unlink("$oldfile");

		//Jetzt erhält die Neue Datei den Dateinamen der alten
		rename("$newfile", "$oldfile");


			if (isset($_GET['delete']))  //wurde parameter ?delete=... übergeben?
					{

					} else {
							//neue IP eintragen
							$fp = fopen($datei, "a");
							fputs($fp,$name.";");
							fputs($fp,strftime('%d.%m.%Y, %H:%M Uhr',time()).";");
							fputs($fp,$ipadress.";\n");
							fclose($fp);
							chmod ($datei,0777);

							}

		print "OK! IP Adresse ".$ipadress." für <b> " .$name." </b> wurde erfolgreich aktualisiert.";
	}
	else
		{

    	}


	}
			else
			{

			print "<html>\n<head>\n<title>Externe IP-Adresse der DSL-Zugänge</title>\n"; //HTML-Kopf

			print "Es wurden keine Parameter für das IP Update übergeben!<br><br>";
			print "Folgende Eintragungen sind vorhanden!<br><br>";

?>

		 <script language="JavaScript" type="text/javascript">
		 <!--
		 function kopieren(inhalt)
		 {
		 zwischenspeicher.innerText = inhalt.innerText;
		 ablage = zwischenspeicher.createTextRange();
		 ablage.execCommand("Copy");
		 }
		 function einfuegen(inhalt)
		 {
		 inhalt.select();
		 ablage=inhalt.createTextRange();
		 ablage.execCommand('Paste');
		 }
		 //-->

		</script>


  		</head>
  		<body>



<?php

			$fp=fopen("IPinfo.txt","r");
			while($line=fgets($fp,1000)) { // Auslesen und zurückgeben der Datei
			$arr=explode(";",$line);

			//print "$arr[0]<br>";
			//print "$arr[1]<br>";
			//print "$arr[2]<br><br>";


			//#######

			print "<pre>\n\n"; //Inhalt der Datei ausgeben
			print "IP von: " .$arr[0]. "<br>";
			print "Stand vom: ".$arr[1]."<br>";
			print "Webserver:  <a href='http://".$arr[2]."'>http://".$arr[2]."</a>\n"; //Direktlink Webserver
			print "FTP-Server: <a href='ftp://".$arr[2]."'>ftp://".$arr[2]."</a>\n"; //Direktlink FTP-Server
			print "<span id='".$arr[0]."' style='display:none'>".$arr[2]."</span><br>";
			print "<input type='button' id='kop3' value='IP in Zwischenablage kopieren' onclick='kopieren(".$arr[0].");'><br>";

		?>

			</pre>

<?php



			}

			//Hier weitere Direktlinks eintragen
			//###############

			}


?>
</pre><textarea id="zwischenspeicher" style="display:none"></textarea><br>
</body></html>
 
Danke Patt für die Version.

ich bin auch schon am überlegen, ob ich eine neue Version machen soll, und die auch gleich umbenenne. z.B. in IPRouterTool oder villeicht auf IPRTool.

Ich bin gerade (für meinen eigenen Bedarf) am testen eine Wake on LAN Funktionalität einzubauen.

Wäre das für die Allgemeinheit auch interessant?

In dem Zuge könnte ich auch gleich den Support für mehrere IP-Adressen einbauen. (Auch wenn das ein komplettes Neuschreiben des scriptes bedeutet)

Was haltet Ihr davon?

Das alte Script würde ich natürlich so lassen, somit kann es als einfaches Beispiel dienen.
 
Hi,

also ich wäre an so einer neuen Version interessiert :)

Grüße
 
OK, dann fange ich mal an das Dingens umzuschreiben.

für so weitere Funktionern muss der Quelltext besser modularisiert werden, sonst wird das wirklich übel.

Ich werde mal parallel dazu probieren, ob das mit dem Wake on LAN funktioniert. (Schon allein deswegen, weil ich das selbst brauche)
 
OK, fertig.

Ich konnte bisher nur noch nicht die Wake-on-LAN Funktionialität testen, da das einen größeren Umbau bei der Firtzbox erfordern würde. Mal sehen.

Auf jeden Fall werden jetzt mehrere Router unterstützt.

Das Skript habe ich RouterTool.php genannt (trifft es am Besten).

der erste Router sollte es so aufrufen:
...../RouterTool.php?myip=<ipaddr>

der zweite Router so:
...../RouterTool.php?myip=<ipaddr>&n=2

und so weiter

Ich habe allerdings keine großartige Fehlerbehandlung integriert.

Bitte testen und Fehler melden.

Hier das Script:
Code:
<?php
/*	
	Version vom 17.01.2007 by Karl Loncarek

	Dieses Skript dient als Hilfsmittel für den Einsatz mit mehreren
	Routern. Es können z.B. die IP-Adressen übergeben werden (ähnlich
	wie bei dyndns). Die Informationen werden über Parameter in der URL
	übergeben. Hierzu muss ein benutzerdefinierter DNS-Anbieter
	eingestellt werden.
	
	Beispiel, das mit meiner Fitz!Box funktioniert (Update-URL):
		...../RouterTool.php?myip=<ipaddr>&n=2
		
	Diese Parameter können übergeben werden (mehrere mit "&" verknüpfen):
	myip
		für die Übergabe der dynamischen IP-Adresse gedacht
		Beispiel:	...../RouterTool.php?myip=192.168.1.1
	n
		für Einträge mehrerer Router; "n" ist die Nummer des Eintrags
		wenn "n" nicht angegeben wird, wird der erste Eintrag bearbeitet
		Beispiel:	...../RouterTool.php?myip=192.168.1.1&n=2
	comment
		für zusätzlichen Kommentar, der zusammen mit Parametern
		angezeigt wird
		Beispiel:	...../RouterTool.php?comment=Router zu Hause
	wakeip
		für die Übergabe einer eigenen Wake-on-LAN IP-Adresse.
		Mehr zu Wake-on-LAN weiter unten.
		Beispiel:	...../RouterTool.php?wakeip=192.168.1.255
	wake
		die für Wake-on-LAN notwendige MAC-Adresse.
		Mehr zu Wake-on-LAN weiter unten.
		Beispiel:	...../RouterTool.php?wake=00-12-AB-34-CD-56
		wird kein Wert übergeben, wird das Magic Paket zur
		gespeicherten IP-Adresse verschickt, einziger erlaubter
		zusätzlicher Parameter ist "n".
	ftp
		für die Übergabe einer IP zum FTP-Server (evtl. mit Port)
		Beispiel:	...../RouterTool.php?ftp=192.168.1.5:40
		wird kein Wert übergeben wird direkt zum FTP-Server weiter-
		geleitet, einziger erlaubter zusätzlicher Parameter ist "n".
	web
		für die Übergabe einer IP zum Webserver (evtl. mit Port)
		Beispiel:	...../RouterTool.php?web=192.168.1.5:8080
		wird kein Wert übergeben wird direkt zum FTP-Server weiter-
		geleitet, einziger erlaubter zusätzlicher Parameter ist "n".
	del
		löscht existierende Einträge. Zu löschender Eintrag kann als
		Wert oder mit "n" übergeben werden. Der Wert wiegt schwerer.
		Beispiel:	...../RouterTool.php?del=3
	
	Um die gespeichertern Parameter anzuzeigen einfach Skript ohne
	Parameter aufrufen:
		...../RouterTool.php
	
	Wake-on-LAN:
	Damit Wake-on-LAN funktionieren kann, muss es im BIOS und unter Windows
	aktiviert werden. Eventuell ist auch ein Verbindungskabel von der Netzwerk-
	karte zum Mainboard notwendig. Das Wake-on-LAN Paket wird üblicherweise
	an die Broadcast-Adresse, z.B. 192.168.1.255 geschickt. Bei einem Router ist
	das normalerweise nicht möglich. Daher muss beim Router eine Portregel
	erstellt werden, die den Port 9 zur internen Brodcast-Adresse umleitet.
	(Derzeit bei der Fritz!Box nicht ohne weiteres möglich)
*/
	$datei = "RouterTool.txt"; //Dateiname als Speicherort für die IP-Adressen

	$daten = array(); //enthällt alle Daten. Jeder Arrayeintrag ist wieder array
	# gespeicherte Informationen pro Eintrag:
	# Kommentar - Datum/Uhrzeit - IP-Adresse - FTP-Adresse - Webserver Adresse - Wake on LAN IP-Adresse - MAC-Adresse
	$params = 7; //Anzahl der zuspeichernden Parameter

# sendet magic packet für Wake on LAN über IP-Adresse $ip, Port $port an MAC-Adresse $mac
	function wake($ip, $mac, $port)
	{
		$mac = str_replace("-", "", $mac); // "-" aus MAC-Adresse entfernen, falls vorhanden
		if(strlen($mac)<12) return false; //MAC-Adresse ist zu kurz, abbrechen
		$mac = chr(hexdec(substr($mac,0,2))).chr(hexdec(substr($mac,2,2))).chr(hexdec(substr($mac,4,2))).chr(hexdec(substr($mac,6,2))).chr(hexdec(substr($mac,8,2))).chr(hexdec(substr($mac,10,2))); //MAC-Adresse in Zeichn konvertieren
		$nic = fsockopen("udp://" . $ip, $port); //UDP-Paket schicken
		if($nic)
		{
			$packet = chr(0xFF).chr(0xFF).chr(0xFF).chr(0xFF).chr(0xFF).chr(0xFF); // 6x FF senden
			$packet .= $mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac; //16x MAC-Adresse senden
		}
		$ret = fwrite($nic, $packet);
		fclose($nic);
		if($ret) return true; //hat alles geklappt
		return false; //Fehler aufgetreten
	}

# lädt IP_Adressen und weitere Informationen
	function loaddata($file)
	{
		if (file_exists($file)) //existiert die Datei?
		{
			$fp = fopen($file, "r"); //Inhalt der Datei einlesen
			$inhalt = fread ($fp, filesize($file));
			fclose($fp);
			$data=explode("\n",$inhalt); //Daten in array einlesen
			return $data;
		}
	}

# speichert IP_Adressen und weitere Informationen
	function savedata($file,$data)
	{
		if ($fp = fopen($file, "w")) //Informationen abspeichern
		{
			fwrite($fp,implode("\n",$data));
			fclose($fp);
			return true;
		}
		else return false;
	}

# übernimmt übergebene Parameter aus der URL
	function getparameters($data)
	{
		global $params;
		if(isset($_GET['n'])) $counter = $_GET['n']; //Nummer des Eintrags übernehmen
		if($counter == "") $counter = 1; //falls kein Parameter übergeben wird auf 1 setzen
		if($_GET['del']) $counter = $_GET['del']; //Gibt an welcher Eintrag gelöscht werden soll
		# Daten nur dannübernehmen, wenn Parameter mit URL übergeben wurden
		for ($i = 0; $i <= ($params-1); $i++ ) //unbelegte Variablen setzen (wichtig fürs abspeichern)
		{
			if(!isset($data[(($counter-1)*$params)+$i])) $data[(($counter-1)*$params)+$i] = "";
		}
		if(isset($_GET['comment'])) //wurde Kommentar zu den aktuellen Einträgen übergeben
		{
			$data[(($counter-1)*$params)+0] = $_GET['comment'];
		}
		if (count($_GET))	 // aktuelle Zeit, wenn ein Parameter übergeben wurde
		{
			$data[(($counter-1)*$params)+1] = strftime('%d.%m.%Y, %H:%M Uhr',time());
		}
		if (isset($_GET['myip'])) //wurde parameter myip=... übergeben?
		{
			$data[(($counter-1)*$params)+2] = $_GET['myip']; //IP-Adresse aus parameter übernehmen
			if ($data[(($counter-1)*$params)+2] == "") $data[(($counter-1)*$params)+2] = $_SERVER['REMOTE_ADDR']; //falls keine IP übergeben wurde, die Internet-IP ermitteln
		}
#		if($data[(($counter-1)*$params)+3] == "") $data[(($counter-1)*$params)+3] = $data[(($counter-1)*$params)+2]; //Haupt-IP-Adresse übernehmen
		if(isset($_GET['ftp'])) //eurde Parameter ftp übergeben?
		{
			if($_GET['ftp']) $data[(($counter-1)*$params)+3] = $_GET['ftp'];
		}
#		if($data[(($counter-1)*$params)+4] == "") $data[(($counter-1)*$params)+4] = $data[(($counter-1)*$params)+2]; //Haupt-IP-Adresse übernehmen
		if(isset($_GET['web'])) //eurde Parameter web übergeben?
		{
			if($_GET['web']) $data[(($counter-1)*$params)+4] = $_GET['web'];
		}
		if(isset($_GET['wake'])) //Wake on LAN durchführen
		{
			if($_GET['wake']) //MAC-Adresse für Wake on LAN aus parameter übernehmen
			{
				$data[(($counter-1)*$params)+5] = $_GET['wake'];
			}
		}
#		if(($data[(($counter-1)*$params)+6] == "") && $data[(($counter-1)*$params)+5]) $data[(($counter-1)*$params)+6] = $data[(($counter-1)*$params)+2]; //Haupt-IP-Adresse übernehmen
		if(isset($_GET['wakeip'])) //Wake on LAN IP-Adresse
		{
			if($_GET['wakeip']) $data[(($counter-1)*$params)+6] = $_GET['wakeip'];
		}
		ksort($data); //Daten sortieren

		#Einträge löschen
		if(isset($_GET['del']))
		{
			if($deleteentry) $counter = $deleteentry;
			for ($i = ($params-1); $i >= 0; $i-- ) //Array-Einträge löschen
			{
				unset($data[(($counter-1)*$params)+$i]);
			}
		}
		return explode("\n",implode("\n",$data));
	}

# zeigt gespeicherte Daten an
	function showdata($data)
	{
		global $params;
		# Verhindern, dass Seite aus Cache geladen wird, HTML-Kopf anzeigen
		header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
		header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit
		print "<html>\n<head>\n<title>Externe IP-Adresse des DSL-Zugangs zuhause</title>\n<style type='text/css'>\n";
		print "th{text-align:left;padding:0 0 0 3em;color:#666;vertical-align:top;width:15em;}\n";
		print "td{font-weight:bold;font-family:monospace;padding:0;}\n";
		print "table{width:100%;}\n";
		print "a{text-decoration: none;color:#000;display:block;}\na:hover{color:#00D;background-color:#DDD;}\n";
		print "small a{color:#CCC;display:inline;}\nsmall a:hover{color:#F00;background-color:transparent;}\n";
		print "\n</style></head>\n<body>\n"; //HTML-Kopf
		if(isset($_GET['del'])) print "<h3>Status: Eintrag gelöscht!</h3><hr \>\n";
		if(isset($_GET['wake']) && ($_GET['wake'] == "")) print "<h3>Status: Wake-on-LAN Paket verschickt!</h3><hr \>\n";
		$i = 1;
		$ipaddress = $data[(($i-1)*$params)+2]; //Haupt-IP-Adresse zwischenspeichern
		$ftpaddress = $ipaddress;
		$webaddress = $ipaddress;
		$woladdress = $ipaddress;
		do
		{
			print "<h2>Eintrag $i: <small><small><small><a href='RouterTool.php?del=$i'>LÖSCHEN</a></small></small></small></h2>\n";
			print "<table cellspacing='0'>\n";
			print "<tr><th>Kommentar:</th><td>".$data[(($i-1)*$params)+0]."</td></tr>\n";
			print "<tr><th>Stand von:</th><td>".$data[(($i-1)*$params)+1]."</td></tr>\n";
			print "<tr><th>WAN IP-Adresse:</th><td>".$ipaddress."</td></tr>\n";
			if ($data[(($i-1)*$params)+3] != "") $ftpaddress = $data[(($i-1)*$params)+3]; //Wenn keine FTP-Adresse vorhanden, Haupt-IP-Adresse verwenden
			print "<tr><th>FTP IP-Adresse:</th><td><a href='ftp://".$ftpaddress."' title='Mit FTP verbinden'>ftp://".$ftpaddress."</a></td></tr>\n";
			if ($data[(($i-1)*$params)+4] != "") $webaddress = $data[(($i-1)*$params)+4]; //Wenn keine WEB-Adresse vorhanden, Haupt-IP-Adresse verwenden
			print "<tr><th>Webserver IP-Adresse:</th><td><a href='http://".$webaddress."' title='Mit Webserver verbinden'>http://".$webaddress."</a></td></tr>\n";
			if ($data[(($i-1)*$params)+6] != "") $woladdress = $data[(($i-1)*$params)+6]; //Wenn keine Wake-on-LAN-Adresse vorhanden, Haupt-IP-Adresse verwenden
			if ($data[(($i-1)*$params)+5] == "") $woladdress = ""; //Wenn keine MAC angegeben ist, macht Wake-on-LAN IP-Adresse keinen Sinn
			print "<tr><th>Wake-on-LAN MAC-Adresse:</th><td><a href='RouterTool.php?wake&n=$i' title='Wake-on-LAN Paket an ".$woladdress." senden'>".$data[(($i-1)*$params)+5]."</a></td></tr>\n";
			print "<tr><th>Wake-on-LAN IP-Adresse:</th><td><a href='RouterTool.php?wake&n=$i' title='Wake-on-LAN Paket an ".$woladdress." senden'>".$woladdress."</a></td></tr>\n";
			print "</table>\n";
			$i++;
		}
		while  (($i*$params)<= count($data));
		print "\n</body>\n"; //HTML-Seite beenden
	}

# führt Aktion gemäß Parameter in URL aus
	function doaction($data)
	{
		global $params;
		if(isset($_GET['n'])) $counter = $_GET['n']; //Nummer des Eintrags übernehmen
		if($counter == "") $counter = 1; //falls kein Parameter übergeben wird auf 1 setzen	
		if(((isset($_GET['ftp']) && (count($_GET) == 1)) || (isset($_GET['ftp']) && isset($_GET['n']) && (count($_GET) == 2))) && ($_GET['ftp'] == "")) //direkt zu FTP-Adresse umleiten
		{ //nur wenn "ftp" ohne parameter angegeben wird
			header("Location: ftp://".$data[(($counter-1)*$params)+3]); //direkt zur FTP-Adresse umleiten
			exit();
		}
		if(((isset($_GET['web']) && (count($_GET) == 1)) || (isset($_GET['web']) && isset($_GET['n']) && (count($_GET) == 2))) && ($_GET['web'] == "")) //direkt zu Webserver-Adresse umleiten
		{ //nur wenn "ftp" ohne parameter angegeben wird
			header("Location: http://".$data[(($counter-1)*$params)+4]); //direkt zur FTP-Adresse umleiten
			exit();
		}
		if((isset($_GET['wake']) && (count($_GET) == 1)) || (isset($_GET['wake']) && isset($_GET['n']) && (count($_GET) == 2)) && ($_GET['wake'] == "")) //Wake on LAN Paket senden
		{
			wake($data[(($counter-1)*$params)+6], $data[(($counter-1)*$params)+5], 9); //Paket über Port 9 schicken
		}
	}
##### Ab hier beginnt das eigentliche Programm

# Daten einlesen
$daten = loaddata($datei);

# Übergebene Parameter auslesen
$daten = getparameters($daten);

# Daten abspeichern
savedata($datei,$daten);

# Aktion durchführen
doaction($daten);

# Daten anzeigen
showdata($daten);

?>
 
Zuletzt bearbeitet:
Hallo,

ist gut geworden. Hab zwar noch nicht alles durchgetestet aber das werde ich noch machen. Ich persönlich vermisse halt das kopieren der IP in die Zwischenablage :) denn ich verwende die Daten in 99% für den Remote desktop.

Hast du ne Idee wie man das noch mit Benutzern steuern könnte. Ich würde das gerne noch bei ein paar Freunden installieren. Da meine IP's denen aber nicht angezeigt werden soll, sollten diese nur ihre eigenen IP's sehen können.

Ne Idee wie man das machen könnte?

Grüße
 
Puuuh,

eine Userverwaltung möchtest Du noch haben?
Hmm, am ehesten (und einfachsten) könnte ich mir das noch als Parameter in der URL vorstellen, aber wie sollen Passwörter gespeichert werden.

Also einfach ist das nicht, dagegen sind mehrere Router Pipifax.

Ich denk mal drüber nach...

Am allereinfachsten ist das Umbennen von RooterTool.php in was anderes. Das gibst Du dann Deinen Kumpels (natürlich solltest Du auch den DAteinamen im Quelltext ändern)
 
Ich habe noch einen Bug entdeckt, die aktuelle Version ist oben bzw. auf meiner Homepage zu finden.
 
Hallo Klonk,

ich habe grad ne Idee wie man das von mir gewünschte Feature einbinden könnte. Ich bekomms aber nicht hin, kannst du? :)

Wenn der Router die IP updated, dann übergibt man einfach noch eine weitere Variable z.B. password

dann ne Extra Datei mit nem Formular und dem Feld Password.
Gibt man nun das Passwort ein und schickt ab, werden alle IP Datensätze die das entsprechende Passwort enthalten angezeigt.

Könntest du das einbauen?

Merci und viele Grüße
 
Hallo Gemeinde

Hab das Tool auch im Einsatz für ne handvoll Routern:
Leider werden bei einem Update immer alle Einträge überschrieben :noidea:

Box1:
RouterTool.php?myip=<ipaddr>

Box2:
RouterTool.php?myip=<ipaddr>&n=2

Box3:
RouterTool.php?myip=<ipaddr>&n=3

Es werden immer alle Einträge für die IP Adressen (1-3) überschrieben mit dem aktuelle übergebenen Wert <ipaddr> überschrieben :noidea:

Ist das ein Bug ?

Danke Euch
dbox2freak
 
Upps, sorry, war wirklich ein Bug. Gespeichert wird das schon, nur falsch angezeigt. Habe die Version auf meiner Homepage entsprechend geändert (eiegntlich nur ein Flüchtigkeitsfehler).

Wie auch immer, jetzt klappt es. Bitte nochmal runterladen.
 
Eintragen und Anzeigen mit PassWort absichern?

Hi,

@Klonk
und alle anderen die hier mit helfen, erstmal super das ihr das gebaut habt!
Wolte es schon selber schreiben, tja Arbeit gespart! Danke! :)

Frage:
Kann mal einer einen Srennshoot einstellen von den Einstellungen der FritzBox zu dem Thema (Habe noch keine FritzBox und will das für einene anderen Router umbauen)? Danke!

Ist es möglich das eintragen per Passwort zu schützten?
(sonnst kann ja jeder der deine Domain kennt und weiß wo das php-script liegt die IPs mit blösin überschreiben, das wollen wir ja nicht)

Ist es auch möglich das Anzeigen der IP erst durch Eingabe eines Passwortes zu ermöglichen?

Gruß.
 
Das mit passwort ist schwierig. wenn du mit htaccess arbeitest, müsste auch dei Fritzbox ein Passwort eingeben, das kann sie nicht.

Im Endeffekt erstelle ein Unterverzeichnis, verbiete, dass ein robot in dem Verzeichnis scannt und los gehts. Da die Fritzbox die Daten auch jede Nacht überschreibt sehe ich das auch nicht so kritisch. Schlimmstenfalls haste keine Zugriff (für einen Tag).

Machs halt nicht öffentlich, wie das Script heißt (Umbenennen ist immer gut) und wo es liegt.
 
Passwortschutz für die Abfrage der IP ist machbar

Hi,

das mit dem Passwortschutz für die Abfrage der IP sehe ich gar nee so schwierig, da ih schon vor Jahren mal ein kleines Scrip mit PHP geschrieben habe das auf Basis von Sessions den Zugriff per Login und PW schützt.

Kannst du mal bitte einen Schrennshoot von dem DynDNS von der FritzBox einstellen bitte?

Habe ich das richitg verstanden das ihr statt der DynDNS-Adresse einfach den kompletten Pfad zum PHP-Schript auf deinem eigenen Server angibts und noch die Pramter hinten dran?

Wenn ja wäre auch hier das mit der Passwortübergabe lösbar.

Gruß.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.