


Warum gibt meine PHP-Ping-Funktion unabhängig von der IP-Adresse immer „dead' zurück?
Anpingen einer IP-Adresse mit PHP und Echo des Ergebnisses
Bei dieser Programmierfrage sucht ein Benutzer Hilfe beim Erstellen einer PHP-Funktion zum Pingen eine IP-Adresse und zeigt an, ob sie aktiv ist oder nicht. Sie haben eine Funktion implementiert, die jedoch unabhängig von der angegebenen IP-Adresse immer „tot“ zurückgibt.
Anfangsfunktion:
function pingAddress($ip){ $pingresult = shell_exec("start /b ping $ip -n 1"); $dead = "Request timed out."; $deadoralive = strpos($dead, $pingresult); if ($deadoralive == false){ echo "The IP address, $ip, is dead"; } else { echo "The IP address, $ip, is alive"; } }
Erklärung:
Die Funktion versucht, die IP-Adresse mithilfe der Funktion „shell_exec“ zu pingen, mit der Option -n 1, um nur eine Ping-Anfrage zu senden. Anschließend wird die Ausgabe des Ping-Befehls auf die Zeichenfolge „Zeitüberschreitung der Anforderung“ überprüft. um festzustellen, ob die IP-Adresse aktiv ist.
Probleme:
- Windows-spezifischer Befehl: Der Befehl start /b ping ist spezifisch für Windows und funktioniert möglicherweise nicht auf anderen Betriebssystemen.
- Strpos für die Ausgabe verwenden: Die direkte Überprüfung der Position einer Zeichenfolge in der Ping-Ausgabe kann als Ausgabeformat unzuverlässig sein kann je nach Version des Ping-Befehls variieren.
- Fehlende doppelte Anführungszeichen: Die Variable $ip ist nicht in doppelte Anführungszeichen eingeschlossen, was eine ordnungsgemäße Interpretation verhindern könnte.
Vorgeschlagene Lösung:
Die Frage des Benutzers schlägt auch eine alternative Lösung vor:
function pingAddress($ip) { $pingresult = exec("/bin/ping -n 3 $ip", $outcome, $status); if (0 == $status) { $status = "alive"; } else { $status = "dead"; } echo "The IP address, $ip, is ".$status; }
Erklärung:
Diese Funktion:
- Verwendet die exec-Funktion, um den Ping-Befehl mit der Option -n 3 auszuführen, um drei Ping-Anfragen zu senden.
- Überprüft den Exit-Status des Ping-Befehls, wobei a Der Status 0 zeigt einen erfolgreichen Ping an (d. h. die IP-Adresse ist aktiv).
- Verwendet die Variable $status, um zu bestimmen, ob die IP-Adresse aktiv oder tot ist, und zeigt das Ergebnis entsprechend an.
Das obige ist der detaillierte Inhalt vonWarum gibt meine PHP-Ping-Funktion unabhängig von der IP-Adresse immer „dead' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

PhpidentifiesAsersSSessionUsingSSessionCookiesAndSessionIDs.1) WHANE Session_Start () iscalled, phpGeneratesAuniqueSessionIDStoredInacookienMamePhpSsidontonTheusers.2) thisidallowStoretrieVessionDataFromtheServer.

Die Sicherheit von PHP -Sitzungen kann durch folgende Maßnahmen erreicht werden: 1. Verwenden Sie Session_regenerate_id (), um die Sitzungs -ID zu regenerieren, wenn sich der Benutzer anmeldet oder eine wichtige Operation ist. 2. Verschlüsseln Sie die Übertragungssitz -ID durch das HTTPS -Protokoll. A. Verwenden Sie Session_save_path (), um das sichere Verzeichnis anzugeben, um Sitzungsdaten zu speichern und Berechtigungen korrekt festzulegen.

PhpSessionFilesArestoredinTHedRectorySpecifiedBySession.save_path, typischerweise/tmponunix-likesystemsorc: \ windows \ temponwindows

ToretriedatafromaphpSession, startThesessionwithSession_start () und AccessvariableSthe $ _SessionArray.Fexample: 1) StartTheSession: session_start (). 2) Abgerufen: $ username = $ _ Session ['username'];

Zu den Schritten zum Erstellen eines effizienten Einkaufswagensystems mithilfe von Sitzungen gehören: 1) Verstehen Sie die Definition und Funktion der Sitzung. Die Sitzung ist ein serverseitiger Speichermechanismus, der verwendet wird, um den Benutzerstatus über Anforderungen hinweg aufrechtzuerhalten. 2) Implementieren Sie das grundlegende Sitzungsmanagement, z. B. das Hinzufügen von Produkten in den Einkaufswagen; 3) auf die fortschrittliche Nutzung ausdehnen und das Produktmengenmanagement und die Löschung der Produktmenge unterstützen; 4) Optimieren Sie Leistung und Sicherheit, indem Sie Sitzungsdaten fortsetzen und sichere Sitzungskennungen verwenden.

Der Artikel erläutert, wie Schnittstellen in PHP erstellt, implementiert und verwendet werden und sich auf ihre Vorteile für die Organisation von Code und die Wartbarkeit konzentriert.

In dem Artikel werden die Unterschiede zwischen CryPT () und Passage_hash () in PHP für Passwort -Hashing erörtert und sich auf ihre Implementierung, Sicherheit und Eignung für moderne Webanwendungen konzentriert.

In Artikel werden in PHP durch Eingabevalidierung, Ausgabecodierung und Verwendung von Tools wie OWASP ESAPI und HTML-Reinigungsmittel die Verhinderung des Cross-Site-Skripts (XSS) erläutert.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.
