Mit der Popularität des Internets sind immer mehr Websites und Anwendungen entstanden, von denen die meisten mit Datenbanken interagieren müssen. Häufige Zugriffe auf die Datenbank wirken sich jedoch stark auf die Leistung der Website aus. Um dieses Problem zu lösen, können wir Caching nutzen, um die Zugriffsgeschwindigkeit und Sicherheit der Website zu verbessern. Im Folgenden wird erläutert, wie Sie mithilfe von PHP einen Cache entwickeln, um die Sicherheit der Website zu verbessern, und dies anhand spezifischer Codebeispiele veranschaulichen.
1. Warum brauchen Sie Caching?
Bei herkömmlichen Website-Anwendungen fragt der Anwendungsserver normalerweise jedes Mal, wenn der Client eine Anfrage stellt, die Datenbank nach Daten ab, was viele Datenbankzugriffsanfragen generiert. Wenn die Anzahl der gleichzeitigen Benutzer zunimmt, erhöht sich auch der Druck beim Zugriff auf die Datenbank, wodurch die Zugriffsgeschwindigkeit der Website verringert wird. Da der Datenzugriff auf die Datenbank unkontrollierbar ist, besteht außerdem das Risiko böswilliger Angriffe oder illegaler Vorgänge.
Um diese Probleme zu lösen, können wir Caching-Technologie verwenden. Unter Caching versteht man das Speichern häufig verwendeter Daten im Speicher, sodass sie schnell gelesen und abgerufen werden können. Durch die Caching-Technologie können Websites den Zugriffsdruck auf die Datenbank verringern, die Zugriffsgeschwindigkeit verbessern und die Sicherheit der Datenbank schützen.
2. Implementierung der PHP-Caching-Technologie
In PHP stehen viele vorgefertigte Caching-Technologien zur Verfügung, wie z. B. APC, Memcache, Redis usw. Die Implementierung dieser Technologien ist unterschiedlich, die Grundidee ist jedoch ähnlich, nämlich die Speicherung häufig verwendeter Daten im Speicher, um die Zugriffsgeschwindigkeit zu erhöhen und den Datenbankdruck zu verringern. Im Folgenden verwenden wir APC-Caching als Beispiel, um vorzustellen, wie die PHP-Caching-Technologie zur Verbesserung der Website-Sicherheit verwendet werden kann.
Bevor Sie die APC-Technologie verwenden, muss sie auf dem Server installiert und aktiviert werden. APC kann über den folgenden Befehl installiert werden:
sudo apt-get install php-apcu
Nachdem die Installation abgeschlossen ist, müssen Sie das APC-Modul in der php.ini-Datei (normalerweise in /etc/php/7.0/fpm/php.ini) aktivieren und hinzufügen Folgender Code am Ende der Datei:
extension=apcu.so apc.enabled=1
Dann starten Sie den PHP-Dienst neu:
sudo systemctl restart php7.0-fpm
Bevor Sie die APC-Caching-Technologie verwenden, müssen Sie feststellen, ob der Cache verfügbar ist. Zur Erkennung kann der folgende Code verwendet werden:
if(!function_exists('apc_store')){ echo 'APC Cache Not Available'; exit; }
Als nächstes kann die Funktion apc_store() zum Speichern der Daten im APC-Cache verwendet werden:
if(!apc_exists('my_cache_key')){ $cache = 'This data will be cached'; //存储数据 apc_store('my_cache_key', $cache, 300); }else{ //从缓存中获取数据 echo 'Data from Cache : '.apc_fetch('my_cache_key'); }
Im obigen Code wird die Funktion apc_store() zum Speichern der Daten verwendet Im Cache gibt der Parameter 1 den eindeutigen Schlüsselwert der zwischengespeicherten Daten an, Parameter 2 sind die zwischenzuspeichernden Daten und Parameter 3 gibt die Cache-Zeit (Sekunden) der Daten an. Wenn die Funktion apc_fetch() die entsprechenden zwischengespeicherten Daten findet, gibt sie die zwischengespeicherten Daten zurück.
Caching-Technologie verbessert nicht nur die Zugriffsgeschwindigkeit der Website, sondern kann auch die Sicherheit der Website verbessern. Wenn es beispielsweise eine API gibt, die eine Schlüsselüberprüfung erfordert, können wir die Überprüfungsergebnisse zwischenspeichern, um Datenbankzugriffsanfragen für jede Überprüfung zu reduzieren. Wenn die in der Datenbank gespeicherten Passwörter außerdem im Klartext vorliegen, kann zur Verbesserung der Sicherheit der MD5-Hashwert oder ein anderer verschlüsselter Wert des Passworts im Speicher zwischengespeichert werden.
Hier ist ein Beispiel für die Verwendung von Caching-Technologie zum Sichern einer API:
function validate_key($api_key){ if(apc_exists($api_key)){ //从缓存中获取验证结果 return apc_fetch($api_key); }else{ //在数据库中验证API密钥 $result = verify_api_key($api_key); //将验证结果缓存起来,缓存时间为30秒 apc_store($api_key, $result, 30); return $result; } }
Im obigen Code wird die Funktion „validate_key()“ verwendet, um den API-Schlüssel zu überprüfen. Wenn der Schlüsselwert im APC-Cache vorhanden ist, wird das Überprüfungsergebnis aus dem Cache abgerufen, andernfalls wird es in der Datenbank überprüft und das Ergebnis wird dann im APC-Cache gespeichert und zurückgegeben.
3. Zusammenfassung
Der Einsatz der Caching-Technologie kann die Zugriffsgeschwindigkeit und Sicherheit der Website erheblich verbessern und den Druck beim Datenbankzugriff verringern. In PHP können Sie aus einer Vielzahl von Caching-Technologien wählen, wie zum Beispiel APC, Memcache, Redis usw. Bei der Verwendung der Caching-Technologie müssen Sie auf die Caching-Zeit und die Caching-Bedingungen achten, um eine Cache-Ungültigmachung oder die Speicherung nutzloser Daten zu vermeiden, was die Sicherheit der Website beeinträchtigen würde.
Das obige ist der detaillierte Inhalt vonSo nutzen Sie die PHP-Cache-Entwicklung, um die Website-Sicherheit zu verbessern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!