Rolf b: aufruf einer URL innerhalb einer function()

Beitrag lesen

Du musst dabei auch berücksichtigen, dass es relativ schnell geht, abstrakte Tipps zu geben, es aber deutlich mehr Zeit kostet, ein konkretes und korrektes Lösungsbeispiel aufzuschreiben.

Ein paar Gedanken noch als Nachtrag:

Ich würde Dir empfehlen, die per Ajax ermittelte IP zu validieren, bevor Du sie für einen Redirect nutzt. Natürlich nicht dahin gehend, ob sie für deinen Bedarf inhaltlich plausibel ist (es sei denn, du könntest IP-Nummernkreise festlegen, die für Dich korrekt sind, ist aber unwahrscheinlich). Aber Du könntest prüfen, ob Du eine gültige IPv4 bzw. IPv6 bekommen hast.

Man kann sich zwar auf den Standpunkt stellen, dass diese Datei von Dir bereitgestellt ist und Du für die technische Korrektheit des Inhalts garantierst, aber eine robuste Programmierung vertraut keiner externen Quelle - und für deinen Ajax-Zugriff ist die IP-Datei eine externe Quelle.

Du könntest alternativ überlegen, ob Du nicht die ganze URL aus der Datei lesen solltest. Du bist derzeit auf http: Protokoll, Port 80 und Defaultseite des Webroot festgelegt. Wenn Du die ganze URL lädst, bist Du flexibler. Das hängt natürlich davon ab, ob die Prozedur, die die Datei schreibt, eine vollständige Adresse erzeugen kann. Und natürlich müsste der Ajax-Receiver dann auf gültige URL prüfen, was nicht ganz trivial ist - aber dafür gibt's fertige Regex oder JS Libraries bzw. in PHP (wenn Du die Datei mit PHP erzeugst) gibt es die Validierungsfilter.

$url = "http://1.2.3.4/myhome/index.html";

if (filter_var($url, FILTER_VALIDATE_URL) !== FALSE) {
   // URL ok, in Datei schreiben
}

PHP hat einige Funktionen und Filter für Validierungen.

Rolf