Heim >Schlagzeilen >Zusammenfassung der zehn häufigsten Interviewfragen zum Thema PHP-Sicherheit
Verwandte Empfehlungen: „Zusammenfassung der PHP-Interviewfragen 2019 (Sammlung) “
1 MySQL-Datenbank wird als Speicher verwendet Veröffentlichungssystem, die Steigerung von mehr als 50.000 Artikeln pro Tag wird voraussichtlich drei Jahre lang betrieben und gewartet. Wie kann es optimiert werden?
a. Entwerfen Sie eine gut gestaltete Datenbankstruktur, ermöglichen Sie teilweise Datenredundanz und versuchen Sie, Join-Abfragen zu vermeiden, um die Effizienz zu verbessern.
b. Wählen Sie den entsprechenden Tabellenfelddatentyp und die Speicher-Engine aus und fügen Sie die Indizes entsprechend hinzu.
c. Master-Slave-Lese- und Schreibtrennung der MySQL-Bibliothek.
d. Suchen Sie nach regulären Tabellen, um die Datenmenge in einer einzelnen Tabelle zu reduzieren und die Abfragegeschwindigkeit zu verbessern.
z.B. Fügen Sie Caching-Mechanismen wie Memcached, APC usw. hinzu.
f. Generieren Sie für Seiten, die sich nicht häufig ändern, statische Seiten.
g. Schreiben Sie effizientes SQL. Beispielsweise wird SELECT * FROM TABEL in SELECT field_1, field_2, field_3 FROM TABLE geändert.
2 Mit welcher Methode lösen Sie bei einer Website mit hohem Datenverkehr das Problem der Statistik von Seitenbesuchen?
a. Bestätigen Sie, ob der Server den aktuellen Datenverkehr unterstützen kann.
b. Datenbankzugriff optimieren.
c. Verbieten Sie den externen Zugriff auf Links (Hotlinking), wie z. B. das Hotlinking von Bildern.
d. Datei-Downloads kontrollieren.
e. Verwenden Sie verschiedene Hosts, um den Datenverkehr zu verteilen.
f. Verwenden Sie eine Browsing-Statistiksoftware, um die Anzahl der Besuche zu ermitteln und eine gezielte Optimierung durchzuführen.
3 Schreiben Sie einen regulären Ausdruck, um alle JS/VBS-Skripte auf der Webseite zu filtern (das heißt, entfernen Sie die Tags und deren Inhalte)
Antwort:
PHP
/<[^>].*?>.*?<\/>/si
4 Verwenden Sie PHP, um die Uhrzeit des Vortages im Format 2006-5-10 22:21:21 auszudrucken
Antwort: echo date('Y-m-d H:i:s' , strtotime('-1 day'));
5 Der Unterschied zwischen echo(), print() und print_r()
Antwort: echo ist a Sprachstruktur ohne Rückgabewert; print-Funktion Es ist im Grunde dasselbe wie echo, außer dass print eine rekursive Druckfunktion ist, die zur Ausgabe von Array-Objekten verwendet wird.
6 Anleitung String-Flipping implementieren?
Antwort: Verwenden Sie die strrev-Funktion. Sie dürfen die in PHP integrierte Funktion nicht verwenden. Schreiben Sie sie einfach selbst:
strrev($str) { $len=strlen($str); $newstr = ''; for($i=$len;$i>=0;$i--) { $newstr .= $str{$i}; } return $newstr; }
7 Eine Methode zum Abfangen von chinesischem Text Zeichenfolgen ohne verstümmelte Zeichen.
Antwort: mb_substr()
8 Wie verwende ich PHP-Umgebungsvariablen, um den Inhalt einer Webseitenadresse abzurufen? Wie erhalte ich die IP-Adresse?
Antwort: $_SERVSR['REQUEST_URI'], $_SERVER['REMOTE_ADDR']
9 Finden Sie den Unterschied zwischen zwei Daten, z. B. 2007-2-5 ~ Der Datumsunterschied vom 6.3.2007
Antwort: (strtotime('2007-3-6')-strtotime('2007-2-5'))/3600*24
10 So ermitteln Sie, ob ein Fenster durch Javascript blockiert wurde
Antwort: Rufen Sie den Rückgabewert von open() ab, was bedeutet, dass es blockiert ist