Sicher genug?
Feanor
- php
Hallo,
ich bin dabei eine kleine Seite zu Coden und hätte eine Frage bezüglich der Sicherheit:
Ich habe für eine einfache Administration von News eine SQL-Datenbank benutzt.
Um in deren Adminmenü zu kommen, gibt es einen Link:
<a href="admin/news.php?id=$line->id&action=edit">Editieren</a>
Der Ordner Admin ist per htaccess zugriffsgeschützt.
In der Admindatei wird die ID dann per Abfrage übernommen:
$id = addslashes($_GET['id']);
Ist das System mit dem geschützten Adminordner ansich sicher und reicht addslashes, um irgendwelche Gefahren über _get zu vermeiden (evtl. array notwendig?) ?
Gruß Feanor
Hallo
Ist das System mit dem geschützten Adminordner ansich sicher
das sollte einigermaßen sicher sein.
und reicht addslashes, um irgendwelche Gefahren über _get zu vermeiden (evtl. array notwendig?) ?
Nein, addslashes() ist nicht die richtige Funktion. Falls Du noch die ebenso verbreiteten wie veralteten mysql_*-Funktionen benutzt, dann wäre mysql_real_escape_string() die richtige Funktion.
Ich rate allerdings zur verbesserten MySQL-Erweiterung mysqli und der Verwendung von prepared Statements.
Freundliche Grüße
Vinzenz
Hallo,
erstmal Danke für die Antwort.
Ich bin mir jetzt nicht ganz sicher, inwiefern ich etwas absichern muss.
Sämtliche Vorgänge, in denen aus dem Browser in die Datenbank geschrieben wird finden in php-Dateien innerhalb des geschützten Ordners statt.
In den öffentlichen Seiten werden die Informationen nur abgefragt.
Muss ich dann überhaupt die Eingaben überprüfen lassen, oder ergibt sich das da nur Berechtigte eingeben können?
Gruß Feanor
Hallo,
Muss ich dann überhaupt die Eingaben überprüfen lassen, oder ergibt sich das da nur Berechtigte eingeben können?
Natürlich musst du die Eingaben noch prüfen!
Du wirfst da offenbar zwei Dinge durcheinander.
1. Stufe: Die Authentifizierung des Benutzers - d.h. nur Leute bzw. Clients, die gewisse Authentifizierungsdaten kennen und bei den Anfragen mitschicken, werden überhaupt bedient.
2. Stufe: Die Absicherung der PHP-Scripte und speziell der SQL-Anfragen, um SQL-Einschleusung, fehlerhafte Datenbank-Eintragungen und so weiter unmöglich zu machen. Dazu wurden dir schon Tipps gegeben.
Das sind zwei Aufgaben, die du separat lösen musst. Keine macht die andere überflüssig.
Mathias