Was du siehst, ist ein verschlüsselter zwischengespeicherter Cache
Der gesamte Cache stammt aus Store.php
. DatabaseStore.php
ist die einzige Methode, bei der die Speicherfunktion eine Verschlüsselung enthält. Der Quellcode für den Laravel-Datenbankcache enthält diesen Kommentar:
Alle zwischengespeicherten Werte in der Datenbank sind verschlüsselt, falls dies als Sitzungsdatenspeicher vom Verbraucher verwendet wird
Anders ausgedrückt, wenn deine Datenbank kompromittiert wurde - sind die Daten theoretisch geschützt, wenn sie keinen Zugriff auf deinen Quellcode haben.
Der Cache verwendet deinen geheimen Schlüssel (definiert in app.php
) als Passphrase zum Verschlüsseln/Entschlüsseln dieses Schlüssels. Die Verschlüsselung erfolgt in der Datei Encrypter.php
, die vom vererbten Speicherdatei (z.B. DatabaseStore.php) während der get/set-Cacheaufrufe aufgerufen wird.
Bearbeiten: als Demonstration - der folgende Datei-Cache
Cache::remember('test', 5, function()
{
return 'Beispiel';
});
ergibt
1362413945s:1:"Beispiel";