art-d-sign
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 21.11.2002, 10:58   #1
TP-Senior
 
Registriert seit: Aug 2002
creative4web macht alles soweit korrekt
Question

Sicherheitsproblem bei Variablenübergabe im Loginbereich


Guten Morgen zusammen,

ich bastel gerade an einer Seite herum, in der ich in einem Memberbereich verschiedene Daten editieren muß. Wenn z.B. die Detailansicht eines Datensatzes erscheinen soll, dann übergebe ich an eine Url die ID des Datensatzes ( detail.php?detailid=5 ).
Nun stellt sich mir eben die Frage, wie ich es verhindern kann, daß ein User auf gut Glück anstatt der 5 z.B. die 10 eingibt und so Zugriff auf für Ihn fremde Daten bekommt.

Habt Ihr da einen praktischen Lösungsansatz ??

Danke schonmal
creative4web ist offline   Mit Zitat antworten


Alt 21.11.2002, 11:02   #2
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
irgendwo muss doch in deinem Programm ein Zusammenhang zwischen User und Datensatzid bestehen, oder? Darüber kannst du doch "absichern".
Stuck Mojo ist offline   Mit Zitat antworten
Alt 21.11.2002, 11:04   #3
TP-Senior
 
Registriert seit: Aug 2002
creative4web macht alles soweit korrekt
Na in gewiesser Weise schon, bzw. ich müßte die Werte (z.B. id des User ) jeweils bei den entsprechenden Datensätzen mit abspeichern. Das erschien mir eben sehr aufwendig. Gibts da nicht was anderes. ? Ich hatte mal was mit der SessionID gelesen.Allerdings hab ich das nicht ganz kapiert
creative4web ist offline   Mit Zitat antworten
Alt 21.11.2002, 11:10   #4
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
ähm... irgendwie versteh ich das nicht... Woher bekommen denn die User diese Detailid? Sind die irgendwo auf einer Seite? Oder wie jetzt?

Um die Sache sicher zu machen MUSS eine Art Verknüpfung zwischen den Daten bestehen, sonst weisst Du oder das Programm ja garnicht, wer welche Details sehen darf/kann.

Mit sessions ansich hat das nichts zu tun, das wäre nur dafür da, den User zu identifizieren. Oder du verpasst ihm beim session-Start (nach dem Login...wenn eins vorhanden ist) seine Userid. Damit mit der checkst du dann immer gegen.

Gruss Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 21.11.2002, 11:10   #5
TP-Moderator
 
Registriert seit: Nov 2002
Ort: Hamburg
DracheTe ist auf einem guten Weg
du musst überprüfen, ob der user auch die rechte hat, auf diesen datensatz zuzugreifen
DracheTe ist offline   Mit Zitat antworten
Alt 21.11.2002, 11:14   #6
TP-Senior
 
Registriert seit: Aug 2002
creative4web macht alles soweit korrekt
Jooo, daß ist mir schon klar Aber wiegesagt fehlt mir da einfach noch ein praktischer Gedankenanstoss in die richtige Richtung. Ich verteile eben im Moment in meiner Usertabelle den Status Admin oder User. Somit kann ich schon mal verhindern, das ein User in einer Adminseite rumfroschen kann. Aber wie ich eben das innerhalb der Usergruppe sinnvoll handlen kann, ist mir noch nicht ganz klar.
creative4web ist offline   Mit Zitat antworten
Alt 21.11.2002, 11:21   #7
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Wenn jeder User nur seine eigenen Sachen bearbeiten kann, dann verbindest du die Die "Artikel" (ich nenn sie jetzt einfach mal so) mit der Userid des Users... so wie du es am Anfang geschrieben hattest.

Wenn du bestimmten Benutzern einen Zugriff auf bestimmte Artikel geben willst musst du mit einer weiteren Tabelle arbeiten, inder die Rechte verteilt sind. Da steht dann z.B. drin
Userid 15 darf Artikelid 82 bearbeiten
Userid 12 darf Artikelid 43 bearbeiten ...usw
Stuck Mojo ist offline   Mit Zitat antworten
Alt 21.11.2002, 11:26   #8
TP-Senior
 
Registriert seit: Aug 2002
creative4web macht alles soweit korrekt
Hmm, ich seh schon, da hängt für mich noch richtig viel Denkarbeit dahinter. Schade, ich dachte da gibts ne einfachere Lösung Aber trotzdem mal vielen Dank für die Bemühungen!
creative4web ist offline   Mit Zitat antworten
Alt 21.11.2002, 13:10   #9
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
greif doch einfach den ansatz von jan auf:

folgende voraussetzung brauchst du:
- user muss sich einloggen -> so bekommst du seine ID
- diese speicherst in einer session
- die tabelle mit den Artikeln erweiterst du um ein feld -> userID
- beim eintragen eines neuen Artikel einfach im insert die userid mit dem session-wert füllen.

- abfrage passiert dann ebenfalls mittels der session:

select * from tabelle where detailid=$_GET[id] and userID=$_SESSION[userID]

ferdig.
bis auf:

wenn der admin alles sehen können muss, dann musst du dir noch überlegen, wie du den adminstatus rüberbringst und dementsprechend die selectabfrage auf die artikeltabelle öffnen
if($_SESSION[admin])
select * from tabelle where detailid=$_GET[id]

wichtig dabei ist halt, dass du beim login die userdaten irgendwo in die session schiesst. das sollte aber kein problem darstellen.
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 21.11.2002, 13:14   #10
TP-Senior
 
Registriert seit: Aug 2002
creative4web macht alles soweit korrekt
Hi,

ok, jetzt kann ich mir das schon ganz gut vorstellen. Nur das mit dem "Reinschießen" der UserID in die Session ist mir noch nicht ganz klar Im Moment erfasse ich nur den Benutzername folgendermaßen session_register('benutzername');
Muss ich das dann mit der Userid auch so machen ? Oder kann ich auch den Benutzername dazu verwenden. Dieser ist auch eindeutig und wird nur einmal vergeben.
creative4web ist offline   Mit Zitat antworten
Alt 21.11.2002, 16:15   #11
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
in der session sollte
- ein eindeutiger Identifier vom user
- der status (admin/user)
enthalten sein.

welchen schlüssel du für den user vergibst, bleibt dir über. wichtig ist nur, dass diese id kein zweites mal vorkommen kann. deshalb nimmt man für solche fälle einen autoincrement, dann ist der user auf alle fälle eindeutig und kann z.b. im falle einer heirat auch noch weiterverwendet werden obwohl sich der username geändert hat.
wenn du aber von dir aus sicherstellen kannst, dass der user immer und ewig eindeutig bleibt und auch den usernamen nicht änderbar ist, dann kannst du natürlich auch den usernamen nehmen.
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 21.11.2002, 16:20   #12
TP-Senior
 
Registriert seit: Aug 2002
creative4web macht alles soweit korrekt
Hallo,

ok ich glaub soweit hab ichs. Ich nehme den Benutzername dafür, der ist eindeutig. Hat aber nix mit Vorname und Nachname des Users zu tun.

Ok, kann leider erst Montag dran weiterarbeiten. Bei Bedarf meld ich mich nochmal

THAnX A LOT
creative4web ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Sicherheitsproblem bei Variablenübergabe im Loginbereich Sicherheitsproblem bei Variablenübergabe im Loginbereich
« linkvariable | suchfunktion: mehrere tabellen durchsuchen »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:23 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67