Machen Sie diese 10 PHP-Fehler?

Eine der besten Eigenschaften von PHP ist, dass es eine großartige Sprache ist, in die man dank seiner weit verbreiteten Popularität einfach eintauchen kann. Jeder, der die Möglichkeit hat, bei Google auf "Suchen" zu klicken, kann schnell ein Programm erstellen. Dies führt jedoch auch zu einer großen Kritik an PHP: Es ist fast zu einfach, schlechten Code zu finden und zu reproduzieren.

Hier sind 10 PHP-Fehler, die jeder Programmierer unabhängig von seinem Kenntnisstand jederzeit machen kann. Einige der Fehler sind sehr einfach, bringen aber auch den besten PHP-Programmierer zum Stehen. Andere Fehler sind schwer zu erkennen (auch bei strikter Fehlerberichterstattung). Alle diese Fehler haben jedoch eines gemeinsam: Sie sind leicht zu vermeiden.

Nehmen Sie sich die Zeit und stellen Sie sicher, dass Ihr PHP sicher ist, sauber und reibungslos läuft, indem Sie Ihre Website nach diesen üblichen PHP-Fehlern durchsuchen.

1. Einfache Anführungszeichen, doppelte Anführungszeichen

Bei der Verkettung von Zeichenfolgen ist es einfach, doppelte Anführungszeichen zu verwenden, da sie alles ordentlich analysiert, ohne sich mit Escape-Zeichen befassen und Punktwerte verwenden zu müssen. Die Verwendung von einfachen Anführungszeichen führt jedoch zu erheblichen Leistungssteigerungen, da weniger Verarbeitungsaufwand erforderlich ist.

Betrachten Sie diese Zeichenfolge:

 # $ howdy = 'Everyone'; # $ foo = 'hallo $ howdy'; # $ bar = "hallo $ howdy"; 

$ foo gibt an "hallo $ howdy" aus und $ bar gibt uns "Hallo an alle". Das ist ein Schritt weniger, den PHP verarbeiten muss. Es ist eine kleine Änderung, die die Leistung des Codes erheblich verbessern kann.


Foto von dantaylor.

2. Semikolon nach einer Weile

Es ist witzig, wie ein kleines Zeichen Chaos in einem Programm verursachen kann, ohne dass es in den PHP-Fehlerprotokollen gemeldet wird! Wie bei Semikolons und While-Anweisungen.

Codeutopia hat ein hervorragendes Beispiel für diesen kleinen Fehler, der zeigt, dass diese unangenehmen Fehler nicht einmal gemeldet werden (sogar an E_ALL!), Da sie leise in eine stille Schleife fallen.

 $ i = 0; während ($ i 

Lass das; nach der while-Anweisung, und Ihr Code ist klar.


Foto von RTPeat.

3. KEINE Datenbank-Caching verwenden

Wenn Sie in Ihrer PHP-Anwendung eine Datenbank verwenden, wird dringend empfohlen, mindestens eine Art Datenbank-Caching zu verwenden. Memcached hat sich als das Pappel-Caching-System herausgestellt, mit Mammut-Sites wie Facebook, die die Software unterstützen.

Memcached ist kostenlos und kann Ihre Software erheblich verbessern. Wenn Ihr PHP in Produktion geht, wird dringend empfohlen, das Caching-System zu verwenden.


Foto von aged_accozzaglia.

4. Fehlendes Semikolon nach einer Pause oder einem Fortfahren

Wie bei Nr. 2 kann ein missbräuchliches Semikolon ernsthafte Probleme verursachen, wenn es lautlos in die Schatten gerät, was es sehr schwierig macht, den Fehler aufzuspüren.

Wenn Sie nach einem "break" oder "continue" in Ihrem Code ein Semikolon verwenden, wird der Code davon überzeugt, eine "0" auszugeben und zu beenden. Dies kann zu ernsthaften Kopfkratzern führen. Sie können dies vermeiden, indem Sie mit PHP-Kontrollstrukturen geschweifte Klammern verwenden (über CodeUtopia)..


Foto von ed_gaillard.

5. E_ALL-Berichterstellung nicht verwenden

Fehlerberichterstattung ist a sehr praktische Funktion in PHP, und wenn Sie es noch nicht verwenden, sollten Sie es wirklich aktivieren. Die Fehlerberichterstattung nimmt viel Debugging-Code in die Hand und beschleunigt Ihre gesamte Entwicklungszeit.

Während viele PHP-Programmierer möglicherweise die Fehlerberichterstattung verwenden, nutzen viele nicht den gesamten Umfang der Fehlerberichterstattung. E_ALL ist eine sehr strikte Art der Fehlerberichterstattung. Durch die Verwendung von E_ALL wird sichergestellt, dass auch der kleinste Fehler gemeldet wird. (Das ist eine gute Sache, wenn Sie großartigen Code schreiben möchten.)

Wenn Sie mit der Entwicklung Ihres Programms fertig sind, sollten Sie die Berichterstellung deaktivieren, da Ihre Benutzer wahrscheinlich keine Reihe von Fehlermeldungen auf Seiten sehen möchten, die ansonsten gut aussehen. (Selbst wenn der Fehler E_ALL gemeldet wird, werden sie hoffentlich sowieso keine Fehler sehen, sondern Fehler tun geschehen.)


Foto von Eliya.

6. Keine Zeitgrenzen für PHP-Skripts festlegen

Wenn PHP-Skripts ausgeführt werden, wird davon ausgegangen, dass sie irgendwann rechtzeitig fertig werden. Aber jeder gute Programmierer weiß das nichts sollte in einem Stück Code angenommen werden. Nichts macht ein Programm launischer als ein nicht reagierendes Skript.

Sie können dieses Problem umgehen, indem Sie einfach ein Zeitlimit für das Skript festlegen (set_time_limit). Auch wenn es wie eine Kleinigkeit erscheint, ist es immer klug, sich auf das Schlimmste vorzubereiten.

7. Session IDs nicht schützen

Ein sehr häufiger Fehler bei der PHP-Sicherheit besteht darin, Sitzungs-IDs nicht mit mindestens einer Art Verschlüsselung zu schützen. Diese Session-IDs nicht zu schützen, ist fast so schlimm wie das Vergeben von Passwörtern eines Benutzers. Ein Hacker könnte eine Sitzungs-ID stehlen und stehlen, wodurch er möglicherweise sensible Informationen erhält. MT Soft Ein Beispiel, wie Sie Session-IDs mit sha1 schützen können:

 if ($ _SESSION ['sha1password'] == sha1 ($ userpass)) // hier sensible Dinge tun 

Das Hinzufügen von shai1 zum ($ userpass) gibt der Sitzung zusätzliche Sicherheit. Sha1 ist keine kugelsichere Methode, aber es ist eine schöne Sicherheitsbarriere, um böswillige Benutzer in Schach zu halten.

8. Cookie-Daten nicht überprüfen

Wie viel Vertrauen setzen Sie in Cookies? Die meisten Leute denken nicht zweimal über die scheinbar harmlosen Daten nach, die ein Cookie übermittelt. Der Name "Cookie" selbst wird mit Milch, Nickerchen und Weihnachtsmann in Verbindung gebracht, um laut zu weinen! Wie könnte ein Keks möglicherweise harmlos sein??

Wenn Sie keine Cookie-Daten überprüfen, öffnen Sie Ihren Code für potenziell schädliche Daten. Sie sollten htmlspecialchars () oder mysql_real_escape_string () verwenden, um den Cookie zu überprüfen, bevor Sie ihn in einer Datenbank speichern.

9. Enthält keine Entitäten

Oftmals sind PHP-Programmierer zu sehr mit Daten vertraut, insbesondere mit Daten, die vom Benutzer generiert werden. Es ist unerlässlich, Daten zu bereinigen, bevor sie in irgendeiner Art von Speicher wie einer Datenbank gespeichert werden.

Source Rally zeigt uns, wie Entitäten in Form von Formularen korrekt entkommen. Anstelle dieses zu verwenden:

 echo $ _GET ['username']; 

Sie können die Daten mithilfe von htmlspecialchars () (oder htmlentities ()) wie folgt überprüfen:

 echo htmlspecialchars ($ _ GET ['username'], ENT_QUOTES); 

10. Verwenden von falschen Vergleichsoperatoren

Während Vergleichsoperatoren ein äußerst grundlegender Teil der PHP-Programmierung sind, wird das Mischen dieser Codes in Ihrem Code sicherlich Ihr Programm beeinträchtigen. Wie das deutsche Sprichwort sagt, steckt der Teufel im Detail.

Mit den oft missbrauchten Operatoren wie =, ==,! = Vertraut zu sein, ist für die PHP-Programmierung absolut wichtig. Wenn Sie sich die Zeit nehmen, die Unterschiede wirklich zu verstehen, wird Ihre Programmierung erheblich beschleunigt und es gibt weniger Fehler beim Debuggen.



Foto von Foxtongue.