mysqldumper
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 03.01.2006, 10:49   #1
TP-Veteran
 
Benutzerbild von alexf812
 
Registriert seit: Sep 2004
alexf812 macht alles soweit korrekt

Vertriebstruktur - zuordnung von Id's


hallo,

ich habe eine Vertriebstruktur (Baumstruktur) nachgebildet und es wird zu jedem mitarbeiter in der struktur sein vertrag angezeigt und alle verträge von mitarbeitern unter ihm...soweit alles ok. nun hole ich mir die verträge anhand der ID und da ist das problem, man kann in der adresszeile des browsers eine andere ID angeben und bekommt den vertrag zu sehen. Ich kann ja in der DB-Abfrage nicht in einer WHERE-Bedingung nur die ergebnisse abfragen wo z.Bsp.: verträge des angemeldeten benutzers angezeigt werden, da ich ja sonst nicht die verträge bekommen von den Mitarbeitern unter ihm in der struktur

wie kann ich das lösen, das man nicht einfach jeden vertrg sehen kann wenn man im browser die id ändert?
alexf812 ist offline   Mit Zitat antworten


Alt 03.01.2006, 10:55   #2
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Sowas macht man nicht mit GET-Parametern, das lädt ja zu Manipulation ein.

Der bessere und sichere Weg ist über Sessions.
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 03.01.2006, 17:26   #3
TP-Veteran
 
Benutzerbild von alexf812
 
Registriert seit: Sep 2004
alexf812 macht alles soweit korrekt
ja hab das vorher so gar nich bedacht... habe jetzt erstmal eine funktion gemacht, die prüft, ob die angegebene id auch zu den eigenen verträgen oder darunterliegender verträge passt, wenn diese id dort ncht vorkommt, dann wird die seite nicht angezeigt, aber hast schon recht mit sessions wäre das besser.

nur ich lese ja aus der Db die id's aus und änge die an den link, damit ich beim anklicken ne id habe. wenn ic hes über sessions mache. wie bekomme ich da beim anklicken die richtige id, wenn ic hsie nicht hinten anhäng?

Geändert von alexf812 (03.01.2006 um 17:33 Uhr).
alexf812 ist offline   Mit Zitat antworten
Alt 03.01.2006, 18:55   #4
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
indem Du sie in die Session schreibst:
$_SESSION['vertragsid']=$id;
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 03.01.2006, 19:24   #5
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
Eine Session ist zwar sicherer als $_GET-Parameter aber auch manipulierbar.
Da müsste meiner Meinung nach ein Login-System mit Rechteverwaltung drumrumgebaut werden. Nur so würde es wirklich sicher werden.
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 03.01.2006, 20:22   #6
TP-Veteran
 
Benutzerbild von alexf812
 
Registriert seit: Sep 2004
alexf812 macht alles soweit korrekt
na ein login system gibt es, aber ich kann ja in er db-abfrage keine where-bedingung benutzen, wo auf den angemeldeten benutzer eingeschränkt wird, dann wäre es ja auch mit get-parametern nicht möglich zu manipulieren, weil die abfrage dann keine ergabnisse bringen würde.
alexf812 ist offline   Mit Zitat antworten
Alt 03.01.2006, 20:26   #7
TP-Veteran
 
Benutzerbild von alexf812
 
Registriert seit: Sep 2004
alexf812 macht alles soweit korrekt
Zitat:
Zitat von St@eff.en
indem Du sie in die Session schreibst:
$_SESSION['vertragsid']=$id;
aber ich habe ja mehrere verträge die ich per übersicht in kurzform anzeigen lasse und wenn ich auf den link gehe dann kommt die ausführliche ansicht zu dem jeweiligen vertrag. woher weiss ich nun wenn ich auf einen link klicke welcher vertrag gemeint ist? ich habe es bisher so gemacht:

while{
<a href="vertrag.php?id=$row['id']">Link</a>
}
alexf812 ist offline   Mit Zitat antworten
Alt 03.01.2006, 21:29   #8
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
mehrere Mögliuchkeiten:

1. Auswählen per Form mit POST
2. erstell ein Array in $_SESSION mit allen verfügbaren Verträgen und übergebe den Arrayindex per GET-Parameter.
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 03.01.2006, 22:28   #9
TP-Veteran
 
Benutzerbild von alexf812
 
Registriert seit: Sep 2004
alexf812 macht alles soweit korrekt
ok, ich muss das dan nnochma überarbeiten :-)
aber deine 2 möglichkeit ist ja so ähnlich wie ich es jetzt hab... ich habe ein array von den möglichen verträgen und wenn die id, die per get übergeben wird, in dem array ist, dann wird der inhalt angezeigt,ansonsten nicht... is etwas umständlicher aber werde deinen vorschlag auf alle fälle noch mit umsetzen....

danke dir mal wieder für deine schnelle und unkomplizierte hillfe immer wieder
alexf812 ist offline   Mit Zitat antworten
Alt 03.01.2006, 22:42   #10
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
nichts zu danken, dafür bin ich ja hier

Die Gefahr Deiner Lösung ist halt die Manipulationsmöglichkeit. Nimmst Du den Arrayindex, so kann man höchstens die eigenen Verträge wechseln, niemals aber einen fremden.
Die meisten Lösungen die ich kenne basieren aber auf der POST-Variante, da gibts auch nicht die Möglichkeit von Bookmarks etc, eben nur den vorgeschriebenen Weg.
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer

Geändert von steffenk (03.01.2006 um 22:44 Uhr).
steffenk ist offline   Mit Zitat antworten
Alt 03.01.2006, 22:48   #11
TP-Veteran
 
Benutzerbild von alexf812
 
Registriert seit: Sep 2004
alexf812 macht alles soweit korrekt
also so wie ich es jetzt habe, da gibt es ein array wo alle vertrags-id's drinstehen und wenn die nicht im array drin is gibts auch nix zu sehen, also vom prinzip her genauso... und auch hier kann ich nur zwischen den eigenen wechseln.

bei der variante mit post stört es mich etwas das man bei aktualisieren des browsers immer das fenster bekommt das erneut die post-daten gesendet werden müssen, oder passiert das mittels speicherung in einer session variablen und dann ner weiterleitung mittels header?
alexf812 ist offline   Mit Zitat antworten
Alt 03.01.2006, 22:54   #12
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
ja, letzteres ist der beste Weg - das ist dann incl. einer Reloadsperre.
Kann man auch in einer Zeile machen: $_SESSION['POST']=$_POST;

Mit den Vertragsnummern - Du gibst zwar die verfügbaren Nummern vor, aber liest Du nachher nicht den Vertrag anhand der übermittelten Nummer aus ? Und das wäre doch die Sicherheitslücke.
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 03.01.2006, 23:12   #13
TP-Veteran
 
Benutzerbild von alexf812
 
Registriert seit: Sep 2004
alexf812 macht alles soweit korrekt
ich habe es jetzt so gemacht:

1. array mit allen mitarbeiter_id ab einem bestimmten punkt in der struktur
2. ich übergeb per get die vertrags_id und hole mir über eine abfrage die mitarbeiter id zum vertrag. nun überprüfe ich ob diese id in dem array vorhanden ist, wenn nicht kann ich davon ausgehen, das manipuliert wurde, denn wenn jemand ne andere vertrags_id in der adresszeile eingibt bekomm ich eine mitarbeiter_id die nicht im array vorhanden ist oder man gibt eine vertrags_id ein, wo man aber ohnehin nur den eigenen vertrag sieht

müsste ja sicher sein
alexf812 ist offline   Mit Zitat antworten
Alt 03.01.2006, 23:19   #14
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
ja, wenn Du gründlich bist

Aber wie sicher ist es, wenn ich nachher an Deinen Rechner geh und die Url aus dem Verlauf öffne ? dann kann ich fleissig weitermachen.
Daran siehst Du, das es oft nicht nur mit der Überprüfung getan ist, oder Du musst zig Schlösser einbauen.
Da ist doch die Post-Lösung immer noch am sichersten, das wird nirgends gecachet und ist so auch nicht reproduzierbar.
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 03.01.2006, 23:25   #15
TP-Veteran
 
Benutzerbild von alexf812
 
Registriert seit: Sep 2004
alexf812 macht alles soweit korrekt
mit dem verlauf haste recht, aber das jemand an nen fremden rechner geht ist zwar nic hauszuschliessen aber nich so wahrscheinlich...sind alles aussendienstmitarbeiter mit eigenem laptop, aber trotz allem werde ich das mal umbauen auf die post variante...is wirklich am sichersten. dann würde es ja (wenn mich das fenster beim aktualisieren des browsers nicht stören würde) auch ganz ohne session gehen, weil du am anfang sagtest mit ner session machen.

was mir noch eingefallen ist, es sollte sich ja jeder immer wieder korrekt abmelden und wenn ich dann an nen fremden rechner gehe und den verlauf öffne, wird das auch nix bringen, weil ich ja immer gegen den angemeldeten user prüfe

Geändert von alexf812 (03.01.2006 um 23:31 Uhr).
alexf812 ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Vertriebstruktur - zuordnung von Id's Vertriebstruktur - zuordnung von Id's
« PHP: Zeichen zählen /Sonderfall | datenbank lokal und online abgleichen? »

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 06: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