base
portal
Suche:
Forum
Start
Neue Seite erstellen
Titel:
"Cookies" sind Texte und Werte die Sie auf dem Rechner eines Besuchers Ihrer Seiten hinterlassen können und beim nächsten Aufruf wieder abrufen können. Da damit zumindest teilweise das Surfverhalten eines Nutzers zu verfolgen ist (und dies von Bannervermarkter-Firmen wie doubleclick auch fleissig gemacht wird), sind Cookies ein wenig in Verruf geraten. Eine Sicherheitslücke stellen Cookies aber nicht dar und so muss letztendlich jeder selbst entscheiden, ob er Cookies auf seinen Seiten einsetzt oder nicht... <h2>Cookies abrufen</h2> baseportal stellt Cookies ohne weiteres Zutun im Hash <c>%_cookies</c> bereit: <code> $_cookies{Name} </code> gibt den Wert des Cookies <i>Name</i> zurück. <h2>Cookies setzen</h2> Gesetzt werden Cookies durch den Befehl <c>set_cookies</c>: <b>Definition:</b> <code> set_cookies "[*]Cookie-Name=Wert[; expires=rfc-date]", ...; </code> <b>Beispiele:</b> <code> set_cookies "Name=Hans", "Alter=27"; </code> setzt das Cookie "Name" auf "Hans" und "Alter" auf "27". <h3>Lebensdauer festlegen</h3> Die Cookies haben eine unendliche Lebensdauer (Um genau zu sein: Bis zum Jahr 2030; falls sie nicht vorher gelöscht werden). Um ein Cookie nur solange zu speichern, solange der Nutzer den Browser geöffnet hat (=eine "Sitzung", engl. <i>Session</i>) muss man einen Stern vor den Cookie-Namen setzen: <code> set_cookies "*einkaufswagen=2472"; </code> setzt das Cookie "einkaufswagen" auf "2472". Beim Schliessen des Browsers wird es automatisch gelöscht. In ganz seltenen Fällen möchten Sie einem Cookie eine bestimmte Lebensdauer geben: Hierzu müssen Sie das Datum hintan stellen: <code> set_cookies "Sonderangebot_gekauft=0; expires=Mon, 24 Dec 2001 18:00:00 GMT"; </code> setzt das Cookie "Sonderangebot_gekauft" auf "0". Ab dem 24.Dezember.2001 um 18:00 Uhr wird es automatisch vom Browser des Nutzers gelöscht. Das Datum muss in einem genau bestimmten Format vorliegen, sonst funktioniert es nicht. baseportal stellt dieses Format über die Datumsfunktion und den Formatnamen "rfc" bereit. Der obige Aufruf könnte also auch so aussehen: <code> set_cookies "Sonderangebot_gekauft=0; expires=".datum("24.12.2001,18:00","rfc"); </code> baseportal wandelt das angegebene Datum automatisch in das richtige Format. <h3>Weitere Parameter mitgeben</h3> Neben der Lebensdauer können Cookies beliebige weitere Parameter mitgegeben werden. Wie beim obigen <i>expires</i> müssen diese mit Strickpunkt <c>;</c> an die Cookie-Zuweisung angehängt werden. Um z.B. ein Cookie nicht nur bei der aufrufenden Seite verfügbar zu machen, benötigt man den Parameter "path": <code> set_cookies "Nutzer=hans; path=/"; </code> Die genaue Bedeutung aller Parameter erfahren Sie in der <a href="http://tools.ietf.org/html/rfc2965">RFC2965</a>. <h2>Cookies löschen</h2> Um ein Cookie zu löschen, muss einfach der Cookie-Name ohne Wert angegeben werden: <code> set_cookies "Besucher="; </code> löscht das Cookie "Besucher". <h2>Komplettes Beispiel</h2> Das folgende Beispiel zeigt einen kleinen "Besucher-Zähler". Es erkennt, wenn ein Nutzer noch nie auf der Seite war und verlangt die Eingabe seines Namens. Dieser wird als Cookie auf seinem Rechner gespeichert, ebenso das Cookie "Besuche" das die Anzahl der Besuche mitzählt. Um das Ganze zu testen kann man die Cookies auch wieder löschen lassen. <code> <perl> if($cmd eq "clear") { out "Cookies sind jetzt gelöscht..."; set_cookies "Name=", "Besuche="; out '<p><a href="baseportal.pl?htx='.$htx.'">Seite erneut aufrufen</a>'; } else { if($Name) { out "Willkommen $Name!"; set_cookies "Name=$Name", "*Besuche=1"; out '<p><a href="baseportal.pl?htx='.$htx.'">Seite erneut aufrufen</a>'; } elsif($_cookies{Name}) { $Besuche=$_cookies{Besuche}+1; out "Hallo $_cookies{Name}, dies ist Dein $Besuche. Besuch!"; set_cookies "*Besuche=$Besuche"; out '<p><a href="baseportal.pl?htx='.$htx.'">Seite erneut aufrufen</a>'; out ' - <a href="baseportal.pl?htx='.$htx.'&cmd=clear">Cookies löschen</a>'; } else { out <<EOF; Herzlich Willkommen! Dies ist Dein erster Besuch. Wie heisst Du?<p> <form action="baseportal.pl?htx=/$htx" method="post" enctype="multipart/form-data"> <input type="hidden" name="htx=" value="$htx"> Name: <input type="text" name="Name="> <input type="submit" value="Abschicken"> </form> EOF } } </perl> </code>
Name:
Passwort:
Stichworte:
Version:
1
2
3 Angebot:
Alle
Nur Miete / Lizenz
Nur Miete / Lizenz professional
Nur Miete
Nur Miete smart + pro
Nur Miete smart + pro / Lizenz
Nur Miete pro
Nur Miete ab pure2, smart2, pro1
Nur Lizenz
Nur Lizenz professional
Nur Kostenlos
Ohne Änderungen zurück zur Seite
-
+
©
baseportal
GmbH. Alle Rechte vorbehalten.
powered in 0.01s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!