interessanter Link (PHP "Sicherheit")

Beim stöbern im Netz gefunden...
PHP Security

Anbei mal weiter je surft, und versuche hier mal selbst eine grobe Auflistung zu tätigen wie und auf was zu achten ist...


Würde mich auf Unterstützungen, Ergänzungen und Anregungen freuen...

Hier ein kleine Auflistung auf welche PUnkte man bei der Programmierung mit PHP und SQL achten sollte:

1.
Erros mitloggen um eventuellen ungereimtheiten früher zu erkennen und aufzuspüren
Register global auf off setzen
1a.
Beim Apache Server dei EInstellung durchführen
php_admin_value error_reporting "E_ALL | E_STRICT"
1b.
Oder in jede php Datei
ini_set('error_reporting', E_ALL | E_STRICT);
// Wobei ich 1b. noch nicht genutzt habe bzw. kannte !?

2.
alle Eingaben welche vom Benutzer sind prüfen und nie vertrauen
hierzu sollte get_magic_quotes_gpc() geprüft werden ob dieses auf off steht, da die Eingabe sonst mit addshlashes() maskiert werden sollte um hier SQL injection vorzubeigen.
2a.
//Daten die an die DB weitergeleitet werden sollten vorher escaped werden
mysql_real_escape_string();
// Sonderzeichen escapen
addslashes(); als Notlösung
2b.
Eingaben von zahlenfelder prüfen auf (is_int)
einfach vermeiden das keine BUchstaben gehändelt werden und somit Fehler provoziert werden. Ausgabe einfach durchführen z.B. "Eingabe überprüfen"

3.
Ausgaben, welche vom Benutzer gegeben werden z.b. eine eingabe im Gästebuch
vorher überprüfen ob HTML Tags // <alert></alert><script></script> etc. // vorhanden sind und diese mittels htmlentities(); in reines textformat wandeln und ausgeben

4.
Variabeln sollte in Arrays gehalten wedern und weiter übergeben werden um so das einschleusen zusätzlicher Variabeln zu vermeiden

5.
Passwörter immer verschlüsselt in die Datenbank speichern.
Vorteil ist hier das der Angreifer, wenn er diese erhält sehr schwer nutzen kann.
Nachteil ist das beim vergessen jedesmal ein neues zugesendet werden muss und der Benutzer muss jedesmal ein neues anlegen.



Bezogen auf den oben genannten Link (6.Session) muss ich ganz ehrlich sagen das dieses ein recht schwammige Meinung ist, jedoch wie sollte man denn sonst Sessions und Cookies nutzen, bzw. eine eindeutige identifizerung des angemeldeten Benutzers durchführen ohne Angst haben zu müssen das Daten ausgespäht werden.
Vielleicht in zusammanhang mit der IP und das ganze in die DB schreiben!?
 
Interessant? Das war vor vielen Jahre mal aktuell und sollte heute eigentlich Standard sein, aber... [geschwafel]

Die PHP-Dokumentation bietet auch schon Ansatzpunkte zum sicheren Programmieren: http://www.php.net/manual/de/security.php
 
@.doc

Man muss es nicht gleich schlecht machen, nur weil man es selber vielleicht nicht mehr braucht. Es wird immer wieder Einsteiger in der PHP-Programmierung oder sogar allgemein Programmierung) geben und denen ist dieses Wissen mit Sicherheit nicht angeboren ;) Und nur weil woanders bereits Hinweise gegeben werden, wie man "sicher" programmieren kann, heißt das ja noch nicht, dass man es in solch einer Community wie dieser nicht nochmal erwähnen kann, finde ich
 
Original von lightsaver
@.doc

Man muss es nicht gleich schlecht machen, nur weil man es selber vielleicht nicht mehr braucht. Es wird immer wieder Einsteiger in der PHP-Programmierung oder sogar allgemein Programmierung) geben und denen ist dieses Wissen mit Sicherheit nicht angeboren ;) Und nur weil woanders bereits Hinweise gegeben werden, wie man "sicher" programmieren kann, heißt das ja noch nicht, dass man es in solch einer Community wie dieser nicht nochmal erwähnen kann, finde ich

Nein, nein, ich wollte das wirklich nicht schlecht machen. Durch das am Ende geschriebene "[geschwafel]" wollte ich eher darauf hinweisen, dass es eben in sehr vielen Fällen nicht bekannt ist, dass es solche Lücken gibt, obwohl sie schon an vielen Stellen genannt sind. Auch wollte ich mit dem Link auf die PHP-Dokumentation das Thema nocheinmal erweitern, da dort doch noch einige neue Dinge stehen, welche noch nicht genannt wurden.
Es sollte daher eher an den Leser gerichtet sein, der sich denkt, dass er sich mit dem Thema bereits zu genüge auseinander gesetzt hätte. Ich hätte das wahrscheinlich doch etwas besser zur Geltung bringen sollen.. tut mir Leid, dass es falsch herausgekommen ist. Ich wollte das Thema wirklich nicht schlecht machen ;)

und .doc ansatzpunkte sind ansatzpunkte.... und keine zielorientierte ergebnisse...

Bitte lies zuerst den Link, bevor du mir hier irgendetwas vorwirfst. Danke ;)
 
Zurück
Oben