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 06-03-2008, 22:27
atmog
 Newbie
Links : Onlinestatus : atmog ist offline
Registriert seit: Mar 2008
Beiträge: 6
atmog ist zur Zeit noch ein unbeschriebenes Blatt
Standard Login-System

Hi, ich hab ein Loginsystem auf meiner Page.
Im Adminbereich sehen die Links so aus:

echo "
<form action=\"index.php\" method=\"get\">
<input type=\"hidden\" name=\"section\" value=\"admin\">
<select name=\"action\" size=\"1\">";

// ist ein Formular, welches pro Rang des Users nur bestimmtesanzeigt, deswegen isses bisl auseinandergerissen

echo "
<option value=\"spielhinzufuegen\">Spielhinzufügen</option>";

ich übermittel keine Session-ID, aber irgendwie merkt er sich trotzdem, dass er eingeloggt ist. Das ist irgendwie konfus. Ich arbeite nach dem Tutorail php-q.net , da wird .SID. an den Link angehängt. Sieht ein bisl komisch aus, weil kein $ am anfang ist, es aber mit den Punkten wie ne Variable ausschaut. Ist das ne Art Konstante?

if (isset($_SESSION['nickname']))

so wird im Adminbereich geprüft ob eine Session vorhanden ist.
Die Session die nach dem Login erstellt wird heißt nickname.
das läuft alles innerhalb der index.php ab, wo jedoch am anfang immer die IP getestet wird und eine session gestartet wird, wird da die session des logins nicht irgendwie überschrieben?

session_start ();

if(!isset($_SESSION['IP']))
{
$_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
}

if($_SESSION['IP'] != $_SERVER['REMOTE_ADDR'])
{
echo "Sie dürfen nicht die Session von einem anderen User benutzten.";
die();
}

mein Hauptaugenmerk bei der Frage liegt darauf, inwieweit sich die Sessions beeinflussen und wie es sein kann, dass man trotz nicht übermittelter Session-ID eingeloggt ist. Danke ;=)

Geändert von atmog (06-03-2008 um 22:31 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 06-03-2008, 22:44
Bugbuster
 PHP Junior
Links : Onlinestatus : Bugbuster ist offline
Registriert seit: Mar 2003
Ort: Hamm
Beiträge: 658
Bugbuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Er kann sich das sehr wohl merken, ganz einfach mit einem cookie.

PHP hängt je nach Einstellungen die URL automatisch die SID an (z.B. wenn Cookies deaktiviert sind kann PHP so verfahren).

mfg
bugbuster
__________________
tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
documentation: php.net mysql.com framework.zend.com

Die Nachtwache!
Mit Zitat antworten
  #3 (permalink)  
Alt 06-03-2008, 22:44
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

weil ein so genanntes session-cookie gesetzt wird. als bettlektüre empfehle ich dir den abschnitt im handbuch

btw: bei meinem ersten session-versuch habe ich das auch nicht ganz begriffen

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #4 (permalink)  
Alt 06-03-2008, 22:49
Bugbuster
 PHP Junior
Links : Onlinestatus : Bugbuster ist offline
Registriert seit: Mar 2003
Ort: Hamm
Beiträge: 658
Bugbuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Noch ein Tipp: Deaktiviere doch einfach mal Cookies und schaue dann an wie sich die Seite verhält.

mfg
bugbuster
__________________
tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
documentation: php.net mysql.com framework.zend.com

Die Nachtwache!
Mit Zitat antworten
  #5 (permalink)  
Alt 06-03-2008, 23:13
atmog
 Newbie
Links : Onlinestatus : atmog ist offline
Registriert seit: Mar 2008
Beiträge: 6
atmog ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das heißt es funktioniert bei mir nur, weil ich cookies zulasse?
er erstellt die ja anscheinend automatisch. d.h. bei nem link muss ich die session id immer dran hängen, damit ich den user weiter auf der seite identifizieren kann. wie war das mit der .SID. nochmal? das war bisl konfus. ich hätte, da die session bei mir nickname heißt einfach den link so geschrieben:

"index.php?section=admin&action=newsadden".$_SESSION['nickname'].""


problematisch wirds aber wenn der Link aufgesplittet ist wie oben bei dem Formular. Obwohl, vll. geht das ja mit nem hidden input feld am ende, in das die session is gepackt wird, das könnte er dann ja immer automatisch mit dranhängen...*grübel* und ausprobier

Auf jeden Fall schonmal vielen Dank für eure schnellen Tipps, finds schön wenn sich jemand die Zeit nimmt andern zu helfen. Versuch auch vieles selbst zu lösen und lese fleißig tutorials, aber manche sachen sind halt dann doch nicht immer so klar

Gruss Atmog
Mit Zitat antworten
  #6 (permalink)  
Alt 06-03-2008, 23:21
Bugbuster
 PHP Junior
Links : Onlinestatus : Bugbuster ist offline
Registriert seit: Mar 2003
Ort: Hamm
Beiträge: 658
Bugbuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
das heißt es funktioniert bei mir nur, weil ich cookies zulasse?
du hast nicht deine seite getestet... deaktivier die cookies und du wirst sehen es wird trotzdem funktionieren wenn du standardeinstellungen für php hast. php wird selbstständig die session an die URL anhängen. wie alt ist das tutorial?!

mfg
bugbuster
__________________
tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
documentation: php.net mysql.com framework.zend.com

Die Nachtwache!
Mit Zitat antworten
  #7 (permalink)  
Alt 06-03-2008, 23:57
atmog
 Newbie
Links : Onlinestatus : atmog ist offline
Registriert seit: Mar 2008
Beiträge: 6
atmog ist zur Zeit noch ein unbeschriebenes Blatt
Standard

naja es ist schon ein bisl älter denke ich

ich benutzt auch wamp, d.h. ich habs auf keinem echten server laufen, aber das sollte ja keinen unterschied machen

ich hab mir jetzt mal den Tipp mit dem Handbuch zu Genüge geführt. Viel wirres Zeugs drinne, aber auch einiges interessantes.
Ich lag mit meinem Gerate, dass SID ne Konstante sein könnte wohl ganz gut


<A HREF="nextpage.php?<?php echo htmlspecialchars(SID); ?>">weiter</A>.

steht zum anhängen einer SID an nen Link im Handbuch. Ich hab da aber noch ein paar Get Variablen dabei, aber ich denke mal so müsste es gehen....

index.php?SID&section=admin&action=newsadden


P.S. ich hab Cookies net zum prüfen deaktiviert (schande über mein haupt, aber ich hols jetzt nach )

P.P.S wahhh die links funktionieren nicht mehr .....wahhh??? eigentlich nicht, eigentlich ist es eher beruhigend
wie sollen sie auch wenn die SID net ausdrücklich drangehängt wurde.... ich pack die jetzt mal manuell hintendran, dann sollte es ja hoffentlich gehen (ohne cookies)

P.P.P.S es ist mit deaktivierten Cookies deutlich einfacher zu verstehen und nachzuvollziehen wie Sessions funktionieren. Zumindest bisl verstehen^^

Ich hab jetzt nen Link der die Session-ID auch gut überträgt

echo "<a href=\"index.php?"; echo SID; echo "&section=admin&action=userbearbeiten\">Testlink mit Session</a>";

allerdings weiss ich nicht wie ich das in mein Formular einbaun soll, weil dass ja so total anders arbeitet

echo "<form action=\"index.php\" method=\"get\">
<input type=\"hidden\" name=\"section\" value=\"admin\">
<select name=\"action\" size=\"1\">";
echo "<option value=\"userbearbeiten\">User bearbeiten</option>";


so sagt er, dass ich keine loginrechte habe, also stimmt was dran nicht:

<input type=\"hidden\" name=\""; echo SID; echo "\">

direkt am anfang des Formulars hängen klappt auch nicht, also index.php? und dann die session id, alles was da hinter der index.php kommt ignoriert er gekonnt

Geändert von atmog (07-03-2008 um 01:00 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 07-03-2008, 02:32
Bugbuster
 PHP Junior
Links : Onlinestatus : Bugbuster ist offline
Registriert seit: Mar 2003
Ort: Hamm
Beiträge: 658
Bugbuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich/wir wären froh wenn du ab und zu auch mal die php tags nutzt .. das wertet den quellcode ungemein auf.

beantworte mir folgendes: wieso willst du die session mit einem formular verarbeiten und was versprichst du dir davon?

trotzdem solltest du dir evtl. beim formular den bereich action anschauen. wenn du die session unbedingt so übertragen magst dann sollte das ziel des formulars nicht nur index.php sein sondern auch die session beinhalten.

gut einiges was du da vor hast ist fragwürdig aber wenn ich so zurückdenke war mein quellcode sicherlich nicht besser

mfg
bugbuster
__________________
tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
documentation: php.net mysql.com framework.zend.com

Die Nachtwache!
Mit Zitat antworten
  #9 (permalink)  
Alt 07-03-2008, 10:47
stekoe2000
 Registrierter Benutzer
Links : Onlinestatus : stekoe2000 ist offline
Registriert seit: Jul 2003
Beiträge: 342
stekoe2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Bugbuster
Noch ein Tipp: Deaktiviere doch einfach mal Cookies und schaue dann an wie sich die Seite verhält.

mfg
bugbuster
Aus Spaß hab ich das bei mir auch mal gemacht ... und mein Login-Bereich geht nicht mehr, er macht aber ne neue Session (SID ändert sich) ... neues Thema für mich, oder hier mitlesen?

Unter FF: Disable External Site Cookies => Es läuft; Disable All Cookies => Es läuft nicht.
__________________
Liebe Grüße,
SteKoe!

PHP Tutorials
Peter Kropff | Quakenet | Schattenbaum.net
Mit Zitat antworten
  #10 (permalink)  
Alt 07-03-2008, 10:52
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Du wirst da irgendwo deine SID nicht mitschleifen, dann verliert der Browser die Session!
Zitat:
Unter FF: Disable External Site Cookies => Es läuft; Disable All Cookies => Es läuft nicht.
Cookies deiner Seite sind natürlich nicht extern, darum funktioniert das mit der FF-Option.
Mit Zitat antworten
  #11 (permalink)  
Alt 07-03-2008, 10:56
stekoe2000
 Registrierter Benutzer
Links : Onlinestatus : stekoe2000 ist offline
Registriert seit: Jul 2003
Beiträge: 342
stekoe2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

stimmt, habe nach dem Login falsch weitergeleitet. Danke!
__________________
Liebe Grüße,
SteKoe!

PHP Tutorials
Peter Kropff | Quakenet | Schattenbaum.net
Mit Zitat antworten
  #12 (permalink)  
Alt 07-03-2008, 13:38
atmog
 Newbie
Links : Onlinestatus : atmog ist offline
Registriert seit: Mar 2008
Beiträge: 6
atmog ist zur Zeit noch ein unbeschriebenes Blatt
Standard

naja ich will die ja nicht verarbeiten, der grundgedanke ist lediglich, dass ich bei jedem link die session id mit schicke, da der link aber beim formular so aufgesplittet ist stellt sich hier das problem wie ich sie an den link dranhänge

es direkt an das index.php zu packen hab ich ja schonmal probiert, das ging leider nicht.

gruss atmog

P.S. habs jetzt hinbekommen, hatte erst doppel PHPSESSID drin, aber mit der funktion session_id() hats dann geklappt.

<input type=\"hidden\" name=\"PHPSESSID\" value=\""; echo session_id(); echo "\">

Geändert von atmog (07-03-2008 um 17:19 Uhr)
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

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

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:13 Uhr.