


Verwenden Sie Cookies in PHP, um Benutzer zu verfolgen und zu identifizieren
Aug 08, 2016 am 09:33 AMSchauen wir uns an, was im Browser gespeichert ist. Wenn Sie IE5 verwenden, gibt es im Windows-Verzeichnis viele Textdateien. Die Dateinamen ?hneln wudong@15seconds.txt. Dies sind die Cookies, die der Browser zum Speichern von Werten verwendet . . In früheren IE-Versionen war der Inhalt von Cookies sichtbar, jetzt wurde der Inhalt jedoch verschlüsselt. Bevor der Browser eine Webseite erh?lt, prüft er zun?chst, ob der Dom?nenname der Seite im Cookie vorhanden ist. Wenn eine übereinstimmung vorliegt, sendet der Browser zun?chst das passende Cookie an den Server und akzeptiert und verarbeitet dann das gesendete Cookie von der Serverseite.
Lassen Sie uns ein Beispiel für die Anwendung von Cookies geben: Wenn ich mich mit Amazon.com verbinde, sendet der Browser den Inhalt der zuvor gesetzten Cookies an Amazon, bevor er die erste Seite akzeptiert. Anschlie?end prüft Amazon.com den übermittelten Inhalt, ob relevante Informationen in der Datenbank vorhanden sind. Nach dem Abgleich erstellt es eine für mich angepasste Seite und übermittelt diese.
Weisen Sie Cookies Werte zu
Cookies muss ein Wert zugewiesen werden, bevor der Server Inhalte an den Browser des Clients sendet. Dazu müssen die Cookie-Einstellungen innerhalb des
?setcookie("CookieID",$USERID);
??>
Der Name des Cookies ist ein String, zum Beispiel: ?CookieID“. Doppelpunkte, Kommas und Leerzeichen sind dazwischen nicht zul?ssig. Dieser Parameter ist erforderlich, w?hrend alle anderen Parameter optional sind. Wird nur dieser Parameter angegeben, wird das Cookie gel?scht.
Der Wert des Cookies ist normalerweise eine String-Variable, beispielsweise $USERID. Sie k?nnen ihm auch ein ?? zuweisen, um das Festlegen des Werts zu überspringen.
Die Zeit, zu der das Cookie abl?uft. Wenn es weggelassen wird (oder ihm der Wert Null zugewiesen wird), l?uft das Cookie am Ende der Sitzung ab. Dieser Parameter kann eine absolute Zeit sein, dargestellt durch TT-Mo-JJHH:MM:SS, zum Beispiel: ?24-Nov-9908:26:00“. H?ufiger wird die Einstellung einer relativen Zeit verwendet. Dies wird durch die Funktion time() oder die Funktion mktime erreicht. Beispielsweise führt time() 3600 dazu, dass das Cookie nach einer Stunde abl?uft.
Ein Pfad, der zum Abgleichen von Cookies verwendet wird. Wenn auf einem Server mehrere Cookie-Einstellungen mit demselben Namen vorhanden sind, wird dieser Parameter verwendet, um Verwirrung zu vermeiden. Die Verwendung des Pfads ?/“ hat den gleichen Effekt wie das Weglassen dieses Parameters. Es ist zu beachten, dass die Cookie-Definition von Netscape den Dom?nennamen vor den Pfad setzt, w?hrend PHP das Gegenteil tut.
Zur Zuordnung von Cookies wird auch der Dom?nenname des Servers verwendet. Es ist zu beachten, dass vor dem Dom?nennamen des Servers ein Punkt (.) stehen muss. Zum Beispiel: ?.friendshipcenter.com“. Denn solange es nicht mehr als zwei Punkte gibt, kann dieser Parameter nicht akzeptiert werden.
Die Sicherheitsstufe des Cookies ist eine ganze Zahl. 1 bedeutet, dass dieses Cookie nur über ?sichere“ Netzwerke gesendet werden kann. 0 oder weggelassen bedeutet, dass jede Art von Netzwerk akzeptabel ist.
Cookies und Variablen
Wenn das PHP-Skript ein Cookie aus dem Browser des Clients extrahiert, wandelt es es automatisch in eine Variable um. Beispiel: Ein Cookie mit dem Namen CookieID wird zur Variablen $CookieID
Der Inhalt von Cookies wird Berichten zufolge im Array HTTP_COOKIE_VARS gespeichert. Sie k?nnen auch über dieses Array und den Namen des Cookies auf den angegebenen Cookie-Wert zugreifen:
PRint$HTTP_COOKIE_VARS[CookieID];
?Denken Sie an jeden Benutzer
Schauen wir uns noch einmal die Datei ?submitform.php3“ an. Ihre Funktion besteht darin, den Namen des Kunden zur Datenbank hinzuzufügen. Ich m?chte jedem Benutzer eine eindeutige Benutzer-ID zuweisen und diese ID dann in Cookies einfügen, damit ich jedes Mal, wenn ein Benutzer meine Website besucht, anhand des Cookies und der darin enthaltenen Benutzer-ID erkennen kann, wer er ist.
MySQL kann so eingerichtet werden, dass jedem neuen Datensatz automatisch eine Nummer zugewiesen wird. Diese Nummer beginnt bei 1 und erh?ht sich danach automatisch um 1. Mit einer SQL-Anweisung k?nnen Sie ein solches Feld ganz einfach zur Datentabelle hinzufügen. Ich nenne es USERID:
ALTERTABLEdbname
ADDCOLUMN
USERIDINT(11)NOTNULL
PRIMARYKEYAUTO_INCREMENT;
Für dieses Feld haben wir einige spezielle Einstellungen vorgenommen. Definieren Sie zun?chst seinen Typ als 11-Bit-Ganzzahl über ?INT(11)“. Verwenden Sie dann das Schlüsselwort ?NOTNULL“, um zu verhindern, dass der Wert dieses Felds NULL ist. Damit es schneller durchsucht werden kann, definiert ?AUTO_INCREMENT“ es als automatisch inkrementiertes Feld.
Sobald der Name des Benutzers in die Datenbank eingegeben wurde, ist es an der Zeit, ein Cookie in seinem Browser zu setzen. Was derzeit verwendet wird, ist der Wert des Feldes USERID, über das wir gerade gesprochen haben:
mysql_connect(localhost,username,passWord);
?mysql_select_db(dbname);mysql_query("INSERTINTOtablename(first_name,last_name)
VALUES('$first_name','$last_name')
");
setcookie("CookieID",
?mysql_insert_id(),
time() 94608000,
"/");/*Das Cookie l?uft nach drei Jahren ab*/
??>
Die PHP-Funktion mysql_insert_id() gibt den Wert des durch AUTO_INCREMENT definierten Feldes zurück, nachdem die letzte INSERT-Abfrage ausgeführt wurde. Solange Sie die Cookies Ihres Browsers nicht l?schen, wird sich die Website auf diese Weise für immer an Sie ?erinnern“
Cookies lesen
Lassen Sie uns ein Skript schreiben, wie es Amazon.com tut. Zun?chst prüft das PHP-Skript, ob der Browser des Clients ein Cookie gesendet hat. Wenn ja, wird der Name des Benutzers angezeigt. Wenn das Cookie nicht gefunden wird, wird ein Formular angezeigt, in dem der Kunde aufgefordert wird, seinen Namen zu registrieren. Anschlie?end wird es zur Datenbank hinzugefügt und das Cookie wird gesetzt, w?hrend der Kunde surft.
Lassen Sie uns zun?chst den Inhalt des Cookies anzeigen:
?print$CookieID;
??> Anschlie?end kann der Name angezeigt werden:
mysql_connect(localhost,username,password);
?mysql_select_db(dbname); ?$selectresult=mysql_query("SELECT*FROMtablename
?WHEREUSERID='$CookieID'
");
?$row=mysql_fetch_array($selectresult);
echo ?Willkommen“,$row[first_name],“
??> Das ist es. Ich habe kein Urteil darüber, überlasse es Ihnen, es zu vervollst?ndigen
Das Obige hat die Verwendung von Cookies in PHP eingeführt, um Benutzer zu verfolgen und zu identifizieren, einschlie?lich einiger Aspekte davon. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Vermeiden Sie N 1 Abfrageprobleme, reduzieren Sie die Anzahl der Datenbankabfragen, indem Sie die zugeh?rigen Daten im Voraus laden. 2. W?hlen Sie nur die erforderlichen Felder aus, um das Laden vollst?ndiger Entit?ten zu vermeiden, um Speicher und Bandbreite zu sparen. 3.. Verwenden Sie Cache-Strategien vernünftigerweise, z. 4. Optimieren Sie den Lebenszyklus der Entit?t und rufen Sie Clear () regelm??ig an, um den Speicher freizugeben, um den Speicherüberlauf zu verhindern. 5. Stellen Sie sicher, dass der Datenbankindex die generierten SQL -Anweisungen existiert und analysiert, um ineffiziente Abfragen zu vermeiden. 6. Deaktivieren Sie die automatische ?nderungsverfolgung in Szenarien, in denen ?nderungen nicht erforderlich sind, und verwenden Sie Arrays oder Leichtgewichtsmodi, um die Leistung zu verbessern. Die korrekte Verwendung von ORM erfordert die Kombination der SQL -überwachung, -gespeicherung, der Stapelverarbeitung und der geeigneten Optimierung, um die Anwendungsleistung zu gew?hrleisten und gleichzeitig die Entwicklungseffizienz beizubehalten.

Die Datei "Settings.JSON" befindet sich auf dem Pfad auf Benutzerebene oder Arbeitsbereichsebene und wird verwendet, um die VSCODE-Einstellungen anzupassen. 1. Benutzer-Level-Pfad: Windows ist C: \ Benutzer \\ AppData \ Roaming \ Code \ User \ Settings.json, MacOS is /users//library/applicationsupport/code/user/settings.json, Linux is /home/.config/code/usser/setings.json; 2. Pfad auf Arbeitsbereichsebene: .VSCODE/Einstellungen im Projekt Root Directory

Der Müllsammlung von PHP basiert auf der Referenzz?hlung, aber kreisf?rmige Referenzen müssen von einem periodischen kreisf?rmigen Müllsammler verarbeitet werden. 1. Die Referenzzahl gibt den Speicher sofort frei, wenn keine Referenz auf die Variable vorhanden ist. 2. Referenzreferenz bewirkt, dass Speicher nicht automatisch freigegeben werden kann, und es h?ngt davon ab, dass GC ihn erfasst und reinigt. 3.. GC wird ausgel?st, wenn das "m?gliche Wurzel" den Schwellenwert erreicht oder manuell gc_collect_cycles () aufruft; 4. Langzeit laufende PHP-Anwendungen sollten gc_status () überwachen und rechtzeitig gc_collect () aufrufen, um Speicherleckage zu vermeiden. 5. Zu den Best Practices geh?rt die Vermeidung von kreisf?rmigen Referenzen, die Verwendung von gc_disable () zur Optimierung der Leistungsschlüsselbereiche und Dereference -Objekte über die Clear () -Methode des ORM.

Mit Bref erm?glicht es PHP-Entwicklern, skalierbare, kostengünstige Anwendungen zu erstellen, ohne Server zu verwalten. 1.Bref bringt Php nach AWSLambda, indem er eine optimierte PHP -Laufzeitschicht bereitstellt, Php8.3 und andere Versionen unterstützt und sich nahtlos in Frameworks wie Laravel und Symfony integriert. 2.. 3. Führen Sie den Befehl ServerlessDeploy aus, um die Bereitstellung abzuschlie?en, apiCateway automatisch zu konfigurieren und Zugriffs -URLs zu generieren. 4. Für Lambda -Beschr?nkungen bietet BREF L?sungen.

ReadOmpropertiesinphp8.2canonlyBeSignedoncinstructororatDeklarationandCannotBemodifiedAfterward, durchsetzungsvermutbarkeitatheluagelevel.2.ToachedevimmiMmutability, WrapMutabletypesLikearrayObjecustomimmutablecollections

UsearestapitobridgephpandmlmodelsbyrunningThemodelinpythonviaplaskorfastapiandcallingitFrompusingCurlorguzzle.2.RunpythonScriptsDirectlyfrompusexec () orshell_exec () Forsimple, Low-TrafcuStates, und Low-Trafficusecases

Verwenden Sie zun?chst JavaScript, um die Einstellungen für Benutzersysteme und lokal gespeicherte Themeneinstellungen zu erhalten und das Seitenthema zu initialisieren. 1. Die HTML -Struktur enth?lt eine Schaltfl?che zum Ausl?sen von Themenwechsel. 2. CSS verwendet: root, um helle Themenvariablen zu definieren, .Dark-Mode-Klasse definiert dunkle Themenvariablen und wendet diese Variablen über var () an. 3.. JavaScript erkennt bevorzuge-farbige Scheme und liest LocalStorage, um das ursprüngliche Thema zu bestimmen. 4. Schalten Sie die Dark-Mode-Klasse im HTML-Element beim Klicken auf die Schaltfl?che und speichern Sie den aktuellen Status vor LocalStorage. 5. Alle Farb?nderungen werden mit einer übergangsanimation von 0,3 Sekunden begleitet, um den Benutzer zu verbessern

Verwenden Sie Leistungsanalyse-Tools, um Engp?sse zu lokalisieren, VisualVM oder JProfiler in der Entwicklung und Testphase zu verwenden und Async-Profiler in der Produktionsumgebung Priorit?t zu geben. 2. Reduzieren Sie die Objekterstellung, verwenden Sie Objekte wieder, verwenden Sie StringBuilder, um String -Splei?en zu ersetzen und entsprechende GC -Strategien auszuw?hlen. 3.. Optimieren Sie die Auswahl der Sammlung, w?hlen Sie die Anfangskapazit?t gem?? der Szene aus; V. 5. Tune JVM-Parameter, festlegen, angemessene Haufengr??e und Müllsammler mit geringer Latenz einstellen und GC-Protokolle aktivieren; 6. Vermeiden Sie die Reflexion auf Codeebene, ersetzen Sie Wrapper -Klassen durch Grundtypen, Verz?gerungsinitialisierung und verwenden Sie endgültige und statische. 7. Kontinuierliche Leistungstest und überwachung, kombiniert mit JMH
