Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Ip Adresse nach Formulareingabe auf Richtigkeit prüfen

Frage Entwicklung PHP

Mitglied: burmy

burmy (Level 1) - Jetzt verbinden

27.11.2006, aktualisiert 11.12.2006, 8881 Aufrufe, 9 Kommentare

IP Adresse nach Eingabe im formular prüfen

Hallo

Ich habe ein Formular mit einem Feld "IP-Adresse", nun schicke ich die eingegebene IP zur Datenbank, indem ich den submit button drücke, klappt alles wunderbar.

Nun kann ich leider auch eine IP Adresse die so aussieht (1921.12.1234.54) zur DB senden, was natürlich dann keine IP mehr ist.

Der Datentyp in der Datenbank ist VARCHAR(15), Frage:

Ist der datentyp richtig gewählt ?

Er ist begrenzt auf 15 Stellen, was ja auch Sinn macht.

Wie kann ich die Eingabe der IP im Formular einer Prüfung unterziehen, die mir prüft ob:

Kleiner <256
4 Werte mit . dazwischen

Man kann die Ip Eingabe natürlich auch in 4 Felder machen die mit Punkten getrennt werden

Wert1.Wert2.Wert3.Wert4

Und dann mit $IP =Wert1.Wert2.Wert3.Wert4 kombinieren.

Ist mein Lösungsansatz grundsätzlich falsch ? Oder bin ich da schon auf dem richtigen Weg ?


Freue mich auf Eure Antworten.

Gruß Burmy
Mitglied: badrulecracker
27.11.2006 um 16:22 Uhr
Moin,

also grundsätzlich möglich ist es schon das alles in einem string zu platzieren. Mit php kannst du mit Strings viel machen, die Punkte auslesen und schauen, ob sie an der richtigen Stelle sind usw.

Aber ich denke der einfachere Weg ist 4 Felder als Int zu erstellen, diesen dann ein maximalwert von 255 zuzuweisen.

mfg, brc
Bitte warten ..
Mitglied: manuel-r
27.11.2006 um 16:36 Uhr
Ich meine die Datenbankengine prüfen zu lassen, ob die Werte korrekt sind ist (aus Ressourcensicht) der falsche Weg. Besser wäre die geposteten Daten durch PHP auf Korrektheit prüfen zu lassen und falsche Werte erst gar nicht an die DB zu übergeben sondern erneut das Formular senden mit einer Fehlermeldung.
Wenn die IP mit einem einzelnen String übergeben wird reicht ein einfaches explode um die vier Zahlen in ein Array zu schreiben. Danach kann ein noch einfacheres if testen, ob alle vier im gültigen Bereich liegen. Wenn ja dann wird die DB angesprochen, wenn nicht zurück zum Absender...

Manuel
Bitte warten ..
Mitglied: burmy
28.11.2006 um 09:08 Uhr
Hallo

Danke erstmal für die Beiträge !!!

Kannst Du mir das etwas genauer darstellen, vielleicht anhand des PHP Codes für das array / explode?

mfg burmy
Bitte warten ..
Mitglied: burmy
28.11.2006 um 10:23 Uhr
Das sollte so wohl funktionieren, oder ?

01.
 
02.
<?php 
03.
 
04.
   $IP1 = "192.168.20.10"; 
05.
   $IP2 = "222.457.110.99"; 
06.
 
07.
 
08.
   function ip($ip) { 
09.
      if (is_string($ip) && ereg('^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$',$ip, $part)) { 
10.
         if ($part[1] <= 255 && $part[2] <= 255 && $part[3] <= 255 && $part[4] <= 255) { 
11.
            return "TRUE"; # Gültige IP Adresse 
12.
13.
14.
      return "FALSE"; 
15.
16.
   echo "$IP1 = ".ip($IP1); 
17.
   echo "<BR>"; 
18.
   echo "$IP2 = ".ip($IP2); 
19.
 
20.
 
21.
?>
Bitte warten ..
Mitglied: burmy
28.11.2006 um 15:18 Uhr
So, nun habe ich die perfekte Lösung,
bei der vorigen Lösung hatte er mir auch bei Eingabe von 192.168.1 den Wert in die Datenbank geschrieben, nun habe ich dies berichtigt:

01.
 
02.
function IP($IP) { 
03.
      if (is_string($IP)) 
04.
05.
		  $part = preg_split('/\./', $IP, -1, PREG_SPLIT_OFFSET_CAPTURE); 
06.
		  if ($part[0][0] <= 255 && $part[1][0] <= 255 && $part[2][0] <= 255 && (isset($part[3][0]) && $part[3][0] <= 255))  
07.
          {  //echo $part[0][0]." <= 255 && ".$part[1][0]." <= 255 && ".$part[2][0]." <= 255 && (isset(".$part[3][0].") && ".$part[3][0]." <= 255"; 
08.
			 return "TRUE";  
09.
10.
11.
      return "FALSE"; 
12.
13.
 
Bitte warten ..
Mitglied: Xaero1982
30.11.2006 um 09:37 Uhr
Ich wette mit dir, dass ne -1.-1.-1.-1 geht :D

na sowas ?

01.
<?php 
02.
 
03.
   $IP1 = "-1.-1.-1.-1"; 
04.
   $IP2 = "222.457.110.99"; 
05.
 
06.
    function IP($IP) { 
07.
          if (is_string($IP)) 
08.
09.
              $part = preg_split('/\./', $IP, -1, PREG_SPLIT_OFFSET_CAPTURE); 
10.
              if ($part[0][0] <= 255 && $part[1][0] <= 255 && $part[2][0] <= 255 && (isset($part[3][0]) && $part[3][0] <= 255))  
11.
              {  //echo $part[0][0]." <= 255 && ".$part[1][0]." <= 255 && ".$part[2][0]." <= 255 && (isset(".$part[3][0].") && ".$part[3][0]." <= 255"; 
12.
                 return "TRUE";  
13.
14.
15.
          return "FALSE"; 
16.
17.
   echo "$IP1 = ".ip($IP1); 
18.
   echo "<BR>"; 
19.
   echo "$IP2 = ".ip($IP2); 
20.
 
21.
?>
Bitte warten ..
Mitglied: burmy
05.12.2006 um 11:58 Uhr
Hi

Du hast Recht, das klappt, ist ja cool, eine Ip Adresse mit -1.-1.-1.-1.

hast Du da vielleicht eine Lösung für mein Problem ?

Ich könnte (>=1 && <=255) einsetzen, aber da bekomme ich eine Fehlermeldung, die Sytax ist wohl nicht korrekt.

Gruß Burmy_de
Bitte warten ..
Mitglied: 17735
10.12.2006 um 11:42 Uhr
Hallo,

vielleicht nicht direkt eine Antwort auf das Problem, aber soll zufällig die IP-Adresse des Clients gespeichert werden? Wenn dem so ist, kann man sie einfach mit $_SERVER['REMOTE_ADDR'] auslesen und in der Datenbank speichern, die 1. richtiges Format hat und 2. vom Benutzer nicht so einfach gefälscht werden kann.

Dies kommt jedoch darauf an, um welche IP-Adresse es sich handelt, u. U. ist dieser Lösungsvorschlag in diesem Falle völlig unbrauchbar.

Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: burmy
11.12.2006 um 10:21 Uhr
Hallo Ahnenforscher

Danke für Deine Antwort, leider ist das nicht das was ich suche, ich habe ein Formular mit vielen Feldern, wo bei ich dabei auch das Feld Ip Adressse eingeben habe: Dort soll zu einem Datensatz z.B. eines Rechners die IP, die Subnet, Der RAM, Der CPU-Typ, etc... eingetragen werden, also sollte es eine Prüfung der IP Adresse bei der Eingabe die ich in diesem Feld mache, erfolgen.

Gruß burmy
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
ACCESS Prüfen ob IP Adresse in IP Range vorhanden
gelöst Frage von thomas1972Microsoft Office6 Kommentare

Hallo, ich habe in Access eine Tabelle IPRANGE mit folgendem Inhalt IPADDR MASK 192.168.1.1 26 besteht die Möglichkeit über ...

Router & Routing
IP-Subnetze und IP-Adresse
gelöst Frage von lixus99Router & Routing2 Kommentare

Moin, ich habe das Netz aus dem Bild. Wenn man von C aus die kürzesten Wege zu den 5 ...

Monitoring
Alle IP Adressen
gelöst Frage von epspeterMonitoring13 Kommentare

Hallo zusammen, ich suche einfaches Programm welches mir alle IP Adressen im Netz anzeigt & druckt. Ich bedanke mich. ...

Microsoft Office
Email Adresse zu prüfen, ob diese noch existiert? VBA
Frage von thomas1972Microsoft Office1 Kommentar

Hallo, besteht per VBA aus Office heraus die Möglichkeit eine Email Adresse zu prüfen, ob diese noch existiert? Bei ...

Neue Wissensbeiträge
DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 50 MinutenDSL, VDSL

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 1 StundeWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 4 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement17 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...