php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-10-2002, 11:11
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard Werte im Link übergeben (hidden)

Hi da bin ich mal wieder...

Mein Problem ist jetzt folgendes:

Ich hab eine Passwortabfrage die echt super funktioniert und das
eingegebene Passwort mit dem aus der Datenbank überprüft
oder auch Fehlermeldung ausgibt wie zb:
ungültiger Benutzernamen
falsches Passwort etc...

Mein Problem jetzt in der nächsten Seite also im Internenbereich
will ich ja praktisch den Benutzer der sich eingeloggt hat mit
seinem Namen begrüßen.
Das erreich ich indem ich in der Passwortabfrage sobald das
Passwort richtig ist und übereinstimmt mit dem Benutzername
die dazugehörige ID des Benutzers im Link mitsende:
PHP-Code:
IF ($DatenOK){
    echo 
"<meta http-equiv=\"refresh\" content=\"0; URL=intern_reg.php?id=$id\">\n";     
  } 
Tja das Problem ist ja dabei wenn sich jetzt Jemand ein wenig mit
PHP ausgekennt der weiss auch das er ganz einfach den Link nur
im Browser ändern muss um in andere Internebereiche von usern
rein zu kommen z.b:
PHP-Code:
 intern_reg.php?id=1 oder 2 oder 3 etc... 
Das is ja natürlich ein riesiges Sicherheitsrisiko allerdings muss ich
die Werte so weitergeben....gibt es irgend eine Möglichkeit den
Link das heisst das dahinter auf "hidden" zu schalten oder so?!
das dann einfach nurnoch intern_reg.php dransteht?!

ps:mit .htaccess Schutz kann bzw eher darf ich das nicht lösen?!
Mit Zitat antworten
  #2 (permalink)  
Alt 08-10-2002, 11:22
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorrrrry!
Ich denke der Thread beantwortet meine Frage!
So geht das oder?!

Parameterübergabe in Links

das heisst einfach in den Code schreiben

$_GET[ID]


oder?!

ne also irgendwie verzweifle ich dran...
ich müsste ja praktisch username & Passwort auch übergeben
und im Internen Bereich dann ein Prüfungsscript einbauen so würde irgendeinem der Link dann ja nichts bringen so lange
er die übergebenen Werte(username,id,Passwort) nicht im Link sieht....

Also wie kann ich das lösen!?
geht das mit Arrays und wenn ja wie?!

Geändert von tomtherock (08-10-2002 um 11:39 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 08-10-2002, 12:12
Campus
 PHP Junior
Links : Onlinestatus : Campus ist offline
Registriert seit: Jul 2002
Ort: D
Beiträge: 842
Campus ist zur Zeit noch ein unbeschriebenes Blatt
Campus eine Nachricht über ICQ schicken
Standard

ich würd dir empfhelen mit session zu arbeiten, schau dir mal ein turtorial auf der seite von sessions...
oder du könntes mit MD5 den password verschlüsseln, und in der abfrage auch nur den verschlüsselten PW haben.
Mit Zitat antworten
  #4 (permalink)  
Alt 08-10-2002, 12:32
Rob K
 Junior Member
Links : Onlinestatus : Rob K ist offline
Registriert seit: Oct 2002
Ort: Dresden
Beiträge: 148
Rob K ist zur Zeit noch ein unbeschriebenes Blatt
Rob K eine Nachricht über ICQ schicken
Standard

also usernamen und passwörter sollte man prinzipiell _NICHT_ via URL übergeben!

dafür eignen sich, wie schon gesagt, am besten sessions oder aber auch einfach nur cookies (ohne sessions)!
__________________
GNU/LINUX
Mit Zitat antworten
  #5 (permalink)  
Alt 08-10-2002, 13:17
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok danke hätte nicht gedacht das es so komfortabel zu lösen ist!

Das Tutorial is echt gut:
http://www.php-resource.de/tutorials/read/9/1/

naja werd es jetzt mal ausprobieren ob das hinhaut...
Muss mir nurnoch überlegen wie ich die Sessions wieder lösche
also unregister wenn er einfach nur das Fenster schliesst ohne sich auszuloggen ?!
Irgendeine Idee!?
Weil wenn er sich nicht ausloggt sind die sessions ja noch gespeichert und automatisch noch gespeichert und so greift das
script natürlich auf die sessions zurück und somit wenn einer den
Link der Internen Seite weiss kann er ja schon wieder unbefugt rein....

Wie löst man so etwas am besten?!
Mit Zitat antworten
  #6 (permalink)  
Alt 08-10-2002, 13:25
Campus
 PHP Junior
Links : Onlinestatus : Campus ist offline
Registriert seit: Jul 2002
Ort: D
Beiträge: 842
Campus ist zur Zeit noch ein unbeschriebenes Blatt
Campus eine Nachricht über ICQ schicken
Standard

in dem du die IP (vielleichzt auch browser) in die session speichers, und die dann bei jeder seite abfragst..(ambesten in ne include datei schreiben, die sowieso auf jeder seite includet wird)
aber wenn du mit cookies arbietes, isses zu vernachlässigen, ausserdem muss du wissen, das session_start ne einzigartige id generiert, die soeinfach kein anderen herrausfinden kann.. es sei die session wird per ulr übergeben (wenn cookies nicht aktiviert) und der usser postet ie seite (icq, mail..) an einem anderen, und der öffnet die seite, mit den sessid dranhängsel, und wenn die ip nicht geprüfft wird, kann er sich vielleicht einhacken
Mit Zitat antworten
  #7 (permalink)  
Alt 08-10-2002, 14:26
ayin
 Registrierter Benutzer
Links : Onlinestatus : ayin ist offline
Registriert seit: Dec 2001
Beiträge: 68
ayin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also ich habe das damals so gelöst:

Wenn ich den Benutzernamen eingeben, dann wird dieser Name als Session registriert.
Somit sehe ich sofort, ob ein User eingeloggt ist oder nicht und das hat damit auch den Vorteil, dass ein Direktlink ausgeschlossen ist. Man sollte aber die Lebensdauder der Session in der php.ini auf 0 setzen, damit die Session auch dann gelöscht wird, wenn man vergisst sich auszuloggen, weil man einfach das browserfenster schliesst.
Mit Zitat antworten
  #8 (permalink)  
Alt 08-10-2002, 14:30
Rob K
 Junior Member
Links : Onlinestatus : Rob K ist offline
Registriert seit: Oct 2002
Ort: Dresden
Beiträge: 148
Rob K ist zur Zeit noch ein unbeschriebenes Blatt
Rob K eine Nachricht über ICQ schicken
Standard

Zitat:
Man sollte aber die Lebensdauder der Session in der php.ini auf 0 setzen,
allerdings ist zu beachten, dass der browser dabei neu gestartet werden muss - sonst wird das cookie nicht gelöscht!!!
__________________
GNU/LINUX
Mit Zitat antworten
  #9 (permalink)  
Alt 08-10-2002, 14:46
Campus
 PHP Junior
Links : Onlinestatus : Campus ist offline
Registriert seit: Jul 2002
Ort: D
Beiträge: 842
Campus ist zur Zeit noch ein unbeschriebenes Blatt
Campus eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von ayin
Also ich habe das damals so gelöst:

Wenn ich den Benutzernamen eingeben, dann wird dieser Name als Session registriert.
Somit sehe ich sofort, ob ein User eingeloggt ist oder nicht und das hat damit auch den Vorteil, dass ein Direktlink ausgeschlossen ist.
kannst mal nochmal erläutern was du genau damit meinst ?
Mit Zitat antworten
  #10 (permalink)  
Alt 08-10-2002, 14:54
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mhhh ich hab jetzt mal das mit den Sessions ausgiebig ausgetestet und naja da kommt immer ein Fehler:

Warning: Cannot send session cookie - headers already sent by (output started at /homepages/25/d27887898/htdocs/test_php/verify.php:5) in /homepages/25/d27887898/htdocs/test_php/verify.php on line 11

Warning: Cannot send session cache limiter - headers already sent (output started at /homepages/25/d27887898/htdocs/test_php/verify.php:5) in /homepages/25/d27887898/htdocs/test_php/verify.php on line 11


sorry aber mir raucht schon der Kopf und ich kann jetzt fast gernicht mehr denken
Mit Zitat antworten
  #11 (permalink)  
Alt 08-10-2002, 14:59
Rob K
 Junior Member
Links : Onlinestatus : Rob K ist offline
Registriert seit: Oct 2002
Ort: Dresden
Beiträge: 148
Rob K ist zur Zeit noch ein unbeschriebenes Blatt
Rob K eine Nachricht über ICQ schicken
Standard

http://www.php.net/manual/de/ref.session.php

Zitat:
Anmerkung: Bei Verwendung Cookie-basierter Sessions müssen Sie session_start() aufrufen, bevor irgend etwas an den Browser geschickt wird.
__________________
GNU/LINUX
Mit Zitat antworten
  #12 (permalink)  
Alt 08-10-2002, 16:15
ayin
 Registrierter Benutzer
Links : Onlinestatus : ayin ist offline
Registriert seit: Dec 2001
Beiträge: 68
ayin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja, kann ich näher erklären.

Also ich habe den Login so gestaltet:
Du loggst dich ganz normal über ein anmeldeformular ein.
Die php-datei, welche den loginnamen überprüft, startet nun erst die session. Die Variable, die ich in der session registriere ist der benutzername.

sprich, du bist nur dann eingeloggt, wenn dein benutzername als variable in der session registriert ist.
also überprüfe ich somit bei jedem weiteren zugriff auf meine dateien, ob der benutzername in der session registriert ist.

das verhindert einen direkten link, da, wenn du zwar den benutzernamen kennst, dir nichts ansehen kannst, wenn du nicht eingeloggt bist, da der benutzername nicht in der session registriert wurde und somit sämtliche zugriffe verhindert.
Mit Zitat antworten
  #13 (permalink)  
Alt 08-10-2002, 17:59
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

genau so hab ich mir das auch vorgestellt !

Naja also jetzt hab ich einfach mal eine bzw 2Test dateien erstellt:
verify.php --> startet die session
und regstriert die Variable "$id" der ich den Wert 1111123 gegeben hab.
mit einem stink normalen Link komm ich dann auf ausgabe.php:

startet wieder die Session( session_start(); )
und sag
echo "$id";

so jetzt bringt er schon mal total den schrott bei der verify.php
und bei der ausgabe.php gibt er sogar die ID aus!!! Aber:
Wieder eine Fehlermeldung

könnt euch das ganze mal unter
www.teradata.de/test_php/verify.php
anschauen...

Tja also wenn ich das hab dann bin ich echt MEGA Glücklich *G*
Und mein Scheff auch
Mit Zitat antworten
  #14 (permalink)  
Alt 08-10-2002, 18:39
Campus
 PHP Junior
Links : Onlinestatus : Campus ist offline
Registriert seit: Jul 2002
Ort: D
Beiträge: 842
Campus ist zur Zeit noch ein unbeschriebenes Blatt
Campus eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von ayin
Ja, kann ich näher erklären.

Also ich habe den Login so gestaltet:
Du loggst dich ganz normal über ein anmeldeformular ein.
Die php-datei, welche den loginnamen überprüft, startet nun erst die session. Die Variable, die ich in der session registriere ist der benutzername.

sprich, du bist nur dann eingeloggt, wenn dein benutzername als variable in der session registriert ist.
also überprüfe ich somit bei jedem weiteren zugriff auf meine dateien, ob der benutzername in der session registriert ist.

das verhindert einen direkten link, da, wenn du zwar den benutzernamen kennst, dir nichts ansehen kannst, wenn du nicht eingeloggt bist, da der benutzername nicht in der session registriert wurde und somit sämtliche zugriffe verhindert.
damit has du aber das rad nicht neu erfunden, wie ich oben bereits erwähnt hab, dass, wenn man den direkten link MIT der SESSION_NAME=blabla klaust, du auf alle variablen zugreifen kannst ..
Mit Zitat antworten
  #15 (permalink)  
Alt 08-10-2002, 19:46
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

jedenfalls bin ich euch Beiden sehr dankbar ihr habt mir Beide ein sehr gutes Stück weiter gebracht

Muss jetzt nurnoch aus des Fehlermeldungen schlau werden...
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
Adsman Pro - Werbe-Manager V.1.1.0

Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebigem Format, Textanzeigen und Page-Peels mit umfangreichen Text und Flash-Effekte.

30.07.2019 rhs | Kategorie: PHP/ Bannerverwaltung
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

30.07.2019 Berni | Kategorie: MYSQL/ Management
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:34 Uhr.