Grundlage Sicherheit
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
adresse
anweisung
beispiel
datei
datenbank
datum
entwickeln
erlauben
idee
mache
post
problem
senden
session
stimmen
tabelle
tag
verwenden
zeichen
-
Guten tag,
heute versuche ich nun einmal etwas mehr in die grundlagen einzugehen und dabei habe ich folgende Frage auf die sich mir keine Antwort ergibt.
Wie kann ich beispielsweise verhindern, wenn ich eine externe Datei verwende, welche die Datenbankeinträge schreibt, schützen kann!
Sprich wenn ich eine Datei schreibe und auf meinen Webspace lege (Name der Datei XXXXXXX.php), kann doch auch jeder andere Mensch seine Daten nehmen und an diese XXXXXXX.php-Datei senden und somit die Datenbank beeinflussen.
Derzeit fällt mir nur ein, es über einen Verzeichnisschutz wie .htaccess zu schützen. aber das muss doch auch anders gehen?!
lg ferana -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich verstehe nicht so ganz dein Problem...
Also wenn du in einer php-Datei die Anweisung hast, nehme die vom User über Get oder Post gesendeten Daten und schreibe sie in Datenbank X in Tabelle Y in Feld Z, dann kann natürlich jeder User auch Blödsinn dahin senden. Aber du kannst maximal versuchen über dein Script herauszufinden ob, das was der User eingegeben hat stimmen kann.
Zum Beispiel: Wenn eine E-Mail-Adresse eingegeben werden soll, prüfe ob ein @-Zeichen enthalten ist.
Wenn du nur bestimmten Usern erlauben möchtest ein Formular auszufüllen musst du ein Login-System entwickeln. Du kannst zum Beispiel Sessions verwenden.
-
rms schrieb:
Ich verstehe nicht so ganz dein Problem...
Also wenn du in einer php-Datei die Anweisung hast, nehme die vom User über Get oder Post gesendeten Daten und schreibe sie in Datenbank X in Tabelle Y in Feld Z, dann kann natürlich jeder User auch Blödsinn dahin senden. Aber du kannst maximal versuchen über dein Script herauszufinden ob, das was der User eingegeben hat stimmen kann.
Zum Beispiel: Wenn eine E-Mail-Adresse eingegeben werden soll, prüfe ob ein @-Zeichen enthalten ist.
Wenn du nur bestimmten Usern erlauben möchtest ein Formular auszufüllen musst du ein Login-System entwickeln. Du kannst zum Beispiel Sessions verwenden.
Guten tag,
nein, so meine ich das nicht.
Beispiel:
Eon abgesonderter Bereich (Adminbereich) wo die Datensäte geändert werden können. Dafür ist eben die edit.php angelegt.
nun kann doch baer jeder via eines eigen geschriebenen Scriptes die Daten via post an meine edit.php senden und diese damit ausführen 8vorrausgesetzte die variablen und das Verzeichniss stimmen überein).
Das meine ich, das muss man doch verhindern können!?
Lg ferana
Beitrag zuletzt geändert: 3.12.2009 15:58:07 von ferana -
Deshalb auch die Idee mit den Sessions. Die Datei zeigt nur ihren Inhalt an, wenn ein über die Datenbank autorisierter User über eine Session sich angemeldet hat und Admin ist.
Beispieldatei (Pseudocode):
<? if (session und so ok und auch user berechtigt) { zeige inhalt der datei an und verarbeite ihn } else { zeige irgendeinen blödsinn an oder leite auf andere seite weiter } ?>
Beitrag zuletzt geändert: 3.12.2009 15:54:03 von karpfen -
Ich glaube ich verstehe jetzt was du meinst. Wenn jemand an den Server einfach Daten übermittelt, wird dein Srcipt allerdings feststellen, dass der User nicht in einer Session ist, also kein Cookie dafür besitzt.
Also muss man zuvor noch eine Session von einem anderen User abfangen, das nennt sich dann Session Hijacking.
http://de.wikipedia.org/wiki/Session_Hijacking
Ja zugegeben das ist ein Problem. Allerdings ist das auch schon ziemlich schwierig und wirklich nur für sehr gute Hacker mal so eben möglich. Wenn du dich davor schützen möchtest musst du SSL verwenden.
Beitrag zuletzt geändert: 3.12.2009 15:57:38 von rms -
ferana schrieb:
Also bin ich dann soweit gut geschütz, wenn ich noch eine Abfrage davor mache, wo die Session überprüft wird.
Gut, dann brauch ich hier nicht mehr dazulernen.
Der verehrte Karpfen darf mal wieder schließen *zwinker*
Ich lasse den Thread mal offen, vielleicht hat ja noch ein anderer User eine gute Idee oder aber Fragen zu dieser Thematik. Und da diese Threads mal nicht an jeder Ecke neu geöffnet wird, bleibt er mal offen. Ich selber verwende eigentlich immer htaccess, da ich das viel komfortabler finde. Bringt aber dann nix, wenn es sich um ein Mehruser-Admin-Panel dreht, wegen der Verwaltbarkeit.
Zumal es sicherlich auch noch Techniken gibt, um eine Session abzusichern!
Beitrag zuletzt geändert: 3.12.2009 16:57:01 von karpfen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage