fastix®: Korrektur und Rückfrage

Beitrag lesen

Moin!

Ich würds mit filter_var() versuchen - in diesem Kontext (wenn man als Quelle REMOTE_ADDR verwendet) ist das zwar OK, aber allgemein mit einer derart simplen Prüfung arbeiten ist ggf. etwas fahrlässig.

Natürlich. Würde ich ganz allgemein eine Klasse "ipaddr" schreiben, deren Objekte IP-Adressen aufnehmen, dann würde ich schon schauen, dass die darin enthaltene Methode setIP(str) andere Verifikationen vornimmt und dass ich mit der Methode "getTyp()" oder der Objekt-Variable $typ auch nur dann eine "4" oder "6" und kein false herausbekomme, wenn dieses nach allem erdenklichen Dafür- und Dagegenhalten auch eine solche gültige IP-Adresse ist.

Das beschreibt dann auch gleich ein Problem der OOP: Performance. Ich führe sehr oft einen Haufen Prüfungen durch, derer es im tatsächlichen Kontext nicht bedarf, weil es "einfacher" (Wozu habe ich die Dokumentation der Klassen meines Kollegen gelesen) ist etwas wie

ipaddr $ip=&new ipaddr();  
$ip->setIP($_SERVER['REMOTE_ADDR']);  
print " Es handelt sich um eine IP-V" . $ip->typ . "-Adresse.";

zu notieren. Das ggf. schon die Methode setIP() einen Resolver aufruft um eine reverse Bestimmung des Hostnamens zu versuchen und das Ergebnis in der Klassenvariable hostname abzulegen (was auch mal mehrere Sekunden dauern kann) weiß ich nicht unbedingt...

Damit sind wir bei einem weiteren Problem: Die Klasse (und damit das Objekt) ist für mich eine Black-Box, jedenfalls so lange ich nicht weiß, was diese wirklich macht  - ich weiß nur was diese machen soll, genau das steht ja in der (hoffentlich verfügbaren) Dokumentation. Aber das gehört in einen ganz anderen Thread.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix