session variablen nicht in der URL weitergeben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anbieter
beitrag
beleidigung
datei
inhalt
leiste
login
lukas
null
pa
pawort
sandkasten
session
show
sicherheit
status
stehen
username
variable
vorteil
-
was sollen die beleidigungen immer, ich habe ansonsten kein problem.
ich wuste schon am anfang das ich mit sowas probleme bekome.
if ($_SESSION['status'] == 3)
das k?nnte doch funzen, oder kann man so auch variablen weitergeben?
edit: bringt auch nix :(
Beitrag ge?ndert am 1.12.2005 19:53 von blacksoul -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ich wuste schon am anfang das ich mit sowas probleme bekome.
wenn du das vonanfangan wusstest... wieso hast du es so geschrieben? war dir quick und dirty lieber als sicher? das kann ich nun erstrecht nicht f?r gut hei?en
was sollen die beleidigungen immer, ich habe ansonsten kein problem.
acha, von was f?hlst du dich beleidigt? und wetten ich kann dir unter deinem cms die datenbank hacken..
wenn dir meine kommentare so unpassend vorkommen sag es und ich stelle meinen support ein und sag kein ton mehr dazu!
if ($_SESSION['status'] == 3)
das k?nnte doch funzen, oder kann man so auch variablen weitergeben?
was? die frage versteh ich echt net..
Beitrag ge?ndert am 1.12.2005 19:56 von kirschbluete
EDIT2:
ich hab da mal was f?r dich zum testen hochgeladen
umgang mit session: http://kirschbluete.milten.lima-city.de/sandkasten
benutzer & passwort = demo
links zur allen datein (quelltext):
http://kirschbluete.milten.lima-city.de/sandkasten/show.php?file=index.php
http://kirschbluete.milten.lima-city.de/sandkasten/show.php?file=login.php
http://kirschbluete.milten.lima-city.de/sandkasten/show.php?file=inside.php
http://kirschbluete.milten.lima-city.de/sandkasten/show.php?file=session.inc.php
http://kirschbluete.milten.lima-city.de/sandkasten/show.php?file=logout.php
(musst du leider kopieren weil die links hier net richtig funzen... w?nsche mir ganz stark n [url]BBCode)
der vergleich von benutzername in login.php ist nur zu demozwecken so und absolut unsicher. nicht nacharmungsw?rdig!und obwohl ich status=3 per url mitsende steht dort nix von admin...
Beitrag ge?ndert am 1.12.2005 21:50 von kirschbluete -
@cd :
Seine IP kann man zwar ver?ndern. Aber man kann keine Wunschadressen benutzen.
Doch, man kann schon, allerdings d?rfte die Seite nicht mehr beim urspr?nglichen Absender ankommen
lordoflima schrieb:
Ich hab mir das Script 5 Sekunden angesehen:
Du kannst doch nicht einfach $status == 3 als Admin-?berpr?fung benutzen, wenn man $status einfach per GET ?bergeben kann! Bist du des Wahnsinns? Junge Junge
? Im Code wird aber $status ein Wert aus der Datenbank zugewiesen:
$status = $data['status'];
M?sste nun in $status nicht der Wert aus der Datenbank ?bernommen werden? Oder stehen die GET/POST/Cookie-Variablen in der Hierarchie ?ber denjenigen im Script?
*mir_schleierhaft_sei* -
? Im Code wird aber $status ein Wert aus der Datenbank zugewiesen:
$status = $data['status'];
M?sste nun in $status nicht der Wert aus der Datenbank ?bernommen werden? Oder stehen die GET/POST/Cookie-Variablen in der Hierarchie ?ber denjenigen im Script?
*mir_schleierhaft_sei*
Meines Wissens nach:
bsp:
$status = $_POST["status_eingabe"]; if ($status == 1) { echo'Sie sind als Admin eingeloggt'; }
es wird die varibale aus dem Fromular verwendet!
auch wenn die seite mit index.php?status=1 aufgerufen wird! Und kein formular abgesendet wurde!
?hnlich wird es mit Cookie variablen sein!
Beitrag ge?ndert am 3.12.2005 20:14 von dussel -
? Im Code wird aber $status ein Wert aus der Datenbank zugewiesen:
$status = $data['status'];
M?sste nun in $status nicht der Wert aus der Datenbank ?bernommen werden? Oder stehen die GET/POST/Cookie-Variablen in der Hierarchie ?ber denjenigen im Script?
*mir_schleierhaft_sei*
Meines Wissens nach:
bsp:
$status = $_POST["status_eingabe"]; if ($status == 1) { echo'Sie sind als Admin eingeloggt'; }
es wird die varibale aus dem Fromular verwendet!
auch wenn die seite mit index.php?status=1 aufgerufen wird! Und kein formular abgesendet wurde!
?hnlich wird es mit Cookie variablen sein!
Beitrag ge?ndert am 3.12.2005 20:14 von dussel
*im_Kreis_herumh?pf*
Sag mal, ist euch ?berhaupt bewusst, dass alle, wirklich alle, ja alle!, Eingaben die ihr nicht selbst geschrieben habt ver?nderbar sind?
Ob du nun $_POST['xy'] oder $_GET['xy'] schreibst wird die wenigsten abhalten...
@blacksoul :
Lass es am besten bleiben. Es ist ja nicht das erste Mal, das deine HP ein wenig ver?ndert wurde...
MfG Lucas -
lucas9991 schrieb:
*im_Kreis_herumh?pf*
Sag mal, ist euch ?berhaupt bewusst, dass alle, wirklich alle, ja alle!, Eingaben die ihr nicht selbst geschrieben habt ver?nderbar sind?
Ob du nun $_POST['xy'] oder $_GET['xy'] schreibst wird die wenigsten abhalten...
@blacksoul :
Lass es am besten bleiben. Es ist ja nicht das erste Mal, das deine HP ein wenig ver?ndert wurde...
MfG Lucas
Das aber nur, wenn register_globals auf on ist.
Wie konnte man diesen Variablenwert ?berhaupt in das Script einschleusen? Die Variable m?sste doch schon l?ngst einen anderen Wert angenommen haben; ausser der Fehler resultierte aus einer fehlerhaften mySQL-Abfrage, wodurch $status keinen anderen Wert annahm ... hmmm -
ich bedanke mich an alle die mir helfen wollten
nur ich suche nun mal woanders oder lese mal das buch genauer durch da ich auf beleidigungen nicht stehe @lukas naja danke -
Das aber nur, wenn register_globals auf on ist.
Wie konnte man diesen Variablenwert ?berhaupt in das Script einschleusen? Die Variable m?sste doch schon l?ngst einen anderen Wert angenommen haben; ausser der Fehler resultierte aus einer fehlerhaften mySQL-Abfrage, wodurch $status keinen anderen Wert annahm ... hmmm
also ich werd ma versuchen zu erkl?ren wie ein php-script abl?uft und wann und wie variablen gesetz werden:
die beispiels datei sieht so aus:
include ('inc.inc.php') echo $inc_var;
bei der verarbeitung durch den parser sieht sie so aus:
// inhalt der include datie inc.inc.php $inc_var = 'hallo'; // inhalt des orginals echo $inc_var; // ausgabe hallo
wenn wir jetzt mal was an die url an idealerweise ?inc_var=hoho
dann SOLLTE es so aussehen:
//setzen der GET ?bergabe $_GET['inc_var'] = 'hoho'; //bei register_globals ON auch $inc_var = 'hoho'; // inhalt der include datie inc.inc.php $inc_var = 'hallo'; // inhalt des orginals echo $inc_var; // ausgabe hallo
aussehen tut es so:
// inhalt der include datie inc.inc.php $inc_var = 'hallo'; //setzen der GET ?bergabe $_GET['inc_var'] = 'hoho'; //bei register_globals ON auch $inc_var = 'hoho'; // inhalt des orginals echo $inc_var; // ausgabe bei reg. glo. OFF hallo // ausgebe bei reg. glo. ON hoho
also was tun wenns brennt?
f?r sesiions die superglobale $_SESSION verwenden auch bei register globals on denn:
bei register globas on werden gleich namige variablen ?berschrieben: ind der reihenfolge g(et), p(ost), c(ookie)
wenn wir die varable passwort per get und post senden beide mit unterschiedlichen werten f?r unterschiebliche sachen geraucht...
reg. glo. ist ON und wir verwnden NICHT die superglobalen... sieht die ?bersetung so aus:
//setzen der $_GET $_GET['pass']= 'bohwassicher'; $pass = 'bohwassicher'; // setzen der $_POST $_POST['pass'] = 'jaja'; $pass = 'jaja'; // so als beispiel ma was damit machen if ($pass == 'bohwassicher') { //erlaube zugriff auf sonst was mit dem passwort aus post // wird so nie geschehen, denn wir erwarten die variable aus get bekommen aber die aus post } else { // ja ja hier kommen wir immer hin }
zum abschlu? noch ein satzt, der kommisch kliengt, aber sehr wichtig ist:
variablen IMMER so behandeln als wenn reg. glob. auf ON w?r.
jede variable vor dem benutzen ordentlich deklarieren. variablen f?r die datenbank verbindung als array anlegen zb $_DB['host'] bla bla, damit bei reg. glob. ON diese nicht von den get oder post variablen ?berschrieben werden.
(das problem hatte ich zu meinen php anf?ngen... und ab da habe ich mich sehr mit reg. glob. sichbarkeitsbereichen usw. auseinander gesetzt)
und mal ein schlu? statement an blacksoul:
hier hat dich niemand beleidigt.
du solltest verstehen, dass es besonders wichtig ist in hinsicht darauf, dass du dein cms jedem verf?gbar machen willst, ein hohesma? an sicherheit zu liefern.
ein eben mal so zusammengeschriebenes cms zum download anzubieten und dann nicht verstehen wollen, dass es so wie es ist nicht reperabel ist, zeigt, dass du dich nocht nicht mit sicherheit und anderen wichtigendingen auseinandergesetzt hast.
wenn du nicht nachvollzihen kannst wieso dein cms hackbar ist und wie variablen aus get, post usw) funktionieren ist es einfach besser, wenn du mit dem cms von vorne anf?ngst.
hier bei geht es nicht um dich (auch wenn du es anscheinend so m?chtest) sondern um die leute die sich dein cms runterladen und benutzen. da kann es dann passieren das viele wichtige daten weg sind. und dann? sagst du dennen:
mir war diese sicherheitsl?cke bewusst, aber die beseitigung zu aufwendig?
oder sagst du:
ach was, wie konnte das passieren?
ich habe langsam das gef?hl, du willst nicht verstehen, dass wir dich nicht niedermachen wollen,
sondern, dass wir versuchen dir klar zu machen,
dass es bei PHP nicht nur drauf ankommt, dass man was scriptet was funzt, sondern, dass man auch versteht was da passiert, und man auf die gr??t m?gliche sicherheit achtet. 100% sicher gibtes nicht. dass ist kler, aber 99,99% ist das minimum welche man anstreben sollte.
das wars und gute nacht
Beitrag ge?ndert am 4.12.2005 21:21 von kirschbluete -
ich bedanke mich an alle die mir helfen wollten
nur ich suche nun mal woanders oder lese mal das buch genauer durch da ich auf beleidigungen nicht stehe @lukas naja danke
Es ist keine Beleidiung. Es ist meine Meinung. Au?erdem ist es Fakt, dass du anscheinend nur durch die Scripte eines PHP Buches dein CMS baust.
Es ist legendlich eine Beleidigung mich mit "k" zu schreiben. -.-
Mein weitere Tipp w?re, dir mal kirschbluetes Post intensiv durchzulesen, denn dort wird es gut erkl?rt und sollte auch f?r dich verst?ndlich sein. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage