Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Will Variable in Cookie schreiben und auslesen

Frage Entwicklung PHP

Mitglied: Michi262

Michi262 (Level 1) - Jetzt verbinden

14.08.2008, aktualisiert 21.08.2008, 4980 Aufrufe, 12 Kommentare

Hi

ich hab wieder ne frage und zwar ich will ein Admincenter schreiben. Da es hierbei 3 verschiedene Adminklassen geben soll wollte ich via jedes mal abfrage wenn er eine Seite aufruft ob in dem Cookie seine Berechtigung für diese Seite vorhanden ist.

Doch leider gibt es shcon Probleme bie der erstelllung des Cookies. Kann mir bitte einer helfen? Bin am verzweifeln.

Hier meine zeile wie ich den Cookei erstelle

01.
setcookie("d-d_admincenter", $adminlevel, time()+(24*60*60));
das Adminlevel ist entweder 1, 2 oder 3.

Wäre nett wenn mir wer schreiben könnte iwe ich den Cookie richtig erstellt und wie ich das adminlevel auch wieder abfragen kann.

Gruß
Michi262
Mitglied: Fritzchen
14.08.2008 um 13:53 Uhr
Hallo Michi262

Also solche Adminsachen über Cockies zu regeln halte ich immer zu riskant. Es ist ja nicht immer davon auszugehen das jeder auch Cockies zuläßt.
Ich verwende hierfür immer eine Sessionverwaltung.

Tschau Fritzchen.
Bitte warten ..
Mitglied: Arano
14.08.2008 um 14:34 Uhr
Ich rate auch zu der Sessionvariante aber nicht weil die Möglichkeit besteht das die Benutzer sie nicht akzeptieren sondern weil die Cookies Clientseitig gespeichert werden.
Und weil sie Clientseitig gespeichert werden, könnte man sie ganz einfach mit einem Texteditor bearbeiten, den Adminlevel hochsetzen und schon hast du Benutzer in deinem Adminbereich die dort nicht zu suchen haben.

Die Sessions werden Serverseitig gespeichert, das heist also das der Benutzer keinen Zugriff auf die Datei hat, demnach kann der Adminlevel auch nicht geändert werden.

!! Um eine Session jedoch einem Benutzer zuzuordnen, wird dem Client die Session-ID übergeben, die er bei jedem neuem Request mitsendet.
Entweder wird die Session-ID als Seitenparameter übertragen oder, sofern aktiviert, per Cookie !!

Zu den Cookies in PHP: PHP-Cookies
Zu den Sessions in PHP PHP-Sessions

~Arano
Bitte warten ..
Mitglied: Michi262
14.08.2008 um 20:37 Uhr
ok. danke ich werd mir das mal anschaun

Gruß
Michi26206
Bitte warten ..
Mitglied: Michi262
15.08.2008 um 17:02 Uhr
sry wegen doppelpost aber sonst ließts keiner.

ich hab mir das mit den Sessions mal angeschaut (weil ich es so machen will) bin abe rnicht shclau daraus geworden kann mir da evtl. wer helfen?

Gruß
Michi262
Bitte warten ..
Mitglied: Arano
15.08.2008 um 19:34 Uhr
Wo hängt es denn ?

Vielleicht hilft dir dies hier ja etwas weiter:
01.
<?php 
02.
 
03.
// sessionmanagement aktivieren 
04.
// (muss vor der ersten ausgabe an den browser geschehen !) 
05.
session_start(); 
06.
 
07.
 
08.
// wenn die session geloescht werden soll 
09.
if(isset($_GET['logout'])){ 
10.
      $_SESSION['name'] = NULL; 
11.
      session_destroy(); 
12.
13.
 
14.
 
15.
// wenn das formular abgeschickt wurde, speichere "name" in eine Sessionvariable 
16.
if(isset($_POST['name']) && trim($_POST['name'])!=''){ 
17.
      $_SESSION['name'] = trim($_POST['name']); 
18.
19.
 
20.
 
21.
// pruefen ob eine sessionvariable namens "name" existiert... 
22.
if(isset($_SESSION['name'])){ 
23.
      // ...sessionvariable "name" exitier, gebe sie aus: 
24.
      echo 'Ihr Name lautet: <b>'.$_SESSION['name'].'</b><br><br> 
25.
            <a href="'.$_SERVER['PHP_SELF'].'?logout">l&ouml;schen</a><br>'
26.
} else
27.
      // ...sessionvariable existiert nicht, zeige formular: 
28.
      echo 'Keine Sessionvariable names "name" vorhanden !<br> 
29.
            <form action="'.$_SERVER['PHP_SELF'].'" method="POST"
30.
              <input type="text" name="name" value=""><br> 
31.
              <input type="submit" value="&Uuml;bernehmen"
32.
            </form><br>'; 
33.
34.
?>
..oder dies hier: PHP-Quake.net-Tutorials - Sessions

Gruß Arano
Bitte warten ..
Mitglied: Michi262
16.08.2008 um 15:08 Uhr
Hi

danke für die Anleitung funktioniert nun bestens.

Noch ne frage: Wie lang gilt die Session und ist es möglich Sie für 24h gültig zumachen?

Gruß
Michi262
Bitte warten ..
Mitglied: Arano
16.08.2008 um 18:32 Uhr
Gern geschehen.

Theoretisch schon.
Aber nur über Einstellungen in oder an der PHP.ini (ini_set()).
Und nur wenn der Browser in dieser Zeit nicht geschlossen wird, den eine Session ist nur innerhalb der Session (Seite aufrufen bis BROWSER geschlossen) gültig.

Zu der PHP.ini.
PHP hat eine Session Garbage Collection 1
  • "session.gc_probability"
  • "session.gc_divisor"
  • "session.gc_maxlifetime"
Aus den ersten beiden Direktiven wird ein wahrscheinlichkeitswert berchnet mit dem der GC beim aufrufen einer Seite ausgeführt wird.
Wenn der GC ausgeführt wird, werden die Session die älter als "gc_maxlifetime" sind gelöscht !

Eine andere Möglichkeit wäre in einem Cookie einen "Schlüssel" beim Besucher zu speichern über den du einen Besucher einmalig wiedererkennen kannst, worauf eine neue Session erstellt wird. Dieser Schlüssel wird natürlich mit der Neuerstellung der Session geändert.
(Diese Methode erfordert eine zusätzlich DB-Tabelle in der die Schlüssel und z.B. die ID des entsprechenden Benutzers stehen um ihn wieder einzuloggen).

Gruß Arano
Bitte warten ..
Mitglied: Michi262
16.08.2008 um 20:32 Uhr
Hi

danke für die Antowrt. Wärst du so lieb und könntest mir da auch noch ne Anleitung schreiben?

Gruß
Michi26206
Bitte warten ..
Mitglied: Arano
16.08.2008 um 23:47 Uhr
Nein sorry, da muss ich passen....

...so komisch es klingen mag, aber das habe ich selber noch nicht gemacht :D
Solange "Relogins" habe ich bis jetzt nicht gebraucht, schließlich steigt auch das Risiko je länger die Zeitspanne ist in der man sich nicht wieder Authentifizieren muss.
(Kommt natürlich auch auf den Verwendungszweck an)

~Tobias
Bitte warten ..
Mitglied: Michi262
17.08.2008 um 17:58 Uhr
Hi

macht nix habes andes hinbekommen.

Ich hab noch ne frage normal muss er mir doch so das datum in ne Session speichern oder?

01.
$time = date("y.m.d H:i:s ", time()); 
02.
$_SESSION['d-d_admincenter_login_time'] = trim($time);
Gruß
Michi26206
Bitte warten ..
Mitglied: Arano
17.08.2008 um 18:06 Uhr
Jap, normal schon, vorausgesetzt, am Anfang der Datei wird das Sessionmanagement gestartet !
( "session_start()" siehe erste Zeilen meines Beispiels weiter oben)

~Tobias
Bitte warten ..
Mitglied: Michi262
21.08.2008 um 00:23 Uhr
Hi

ja es steht am anfang. Geht jetzt auch ka warum es davor nicht ging.
Gruß
Michi262
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst DWORD (Name immer verschieden) eines RegKeys auslesen und in Variable schreiben (2)

Frage von reissaus73 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mehrere Ordnernamen auslesen und in eine Variable schreiben (5)

Frage von schmitho zum Thema Batch & Shell ...

Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

PHP
gelöst HTML Dropdownmenü auslesen und in PHP als Variable übergeben (35)

Frage von ITFlori zum Thema PHP ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...