三招針對PHP木馬攻擊的易行防御之道
Jun 08, 2016 pm 05:34 PM首先修改httpd.conf,如果你只允許你的php腳本程序在web目錄里操作,還可以修改httpd.conf文件限制php的操作路徑。比如你的web目錄是/usr/local/apache/htdocs,那么在httpd.conf里加上這么幾行:
php_admin_value open_basedir /usr/local/apache/htdocs
這樣,如果腳本要讀取/usr/local/apache/htdocs以外的文件將不會被允許,如果錯誤顯示打開的話會提示這樣的錯誤:
Warning: open_basedir restriction in effect. File is in wrong directory in /usr/local/apache/htdocs/open.php on line 4
等等。
2、防止php木馬執(zhí)行webshell
打開safe_mode,在php.ini中設置
disable_functions= passthru,exec,shell_exec,system
二者選一即可,也可都選
3、防止php木馬讀寫文件目錄
在php.ini中的disable_functions= passthru,exec,shell_exec,system
后面加上php處理文件的函數(shù)
主要有
fopen,mkdir,rmdir,chmod,unlink,dir
fopen,fread,fclose,fwrite,file_exists
closedir,is_dir,readdir.opendir
fileperms.copy,unlink,delfile
即成為
disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir
,fopen,fread,fclose,fwrite,file_exists
,closedir,is_dir,readdir.opendir
,fileperms.copy,unlink,delfile
ok,大功告成,php木馬拿我們沒轍了,遺憾的是這樣的話,利用文本數(shù)據庫的那些東西就都不能用了。
如果是在windos平臺下搭建的apache我們還需要注意一點,apache默認運行是system權限,這很恐怖,這讓人感覺很不爽.那我們就給apache降降權限吧。
net user apache fuckmicrosoft /add
net localgroup users apache /del
ok.我們建立了一個不屬于任何組的用戶apche。
我們打開計算機管理器,選服務,點apache服務的屬性,我們選擇log on,選擇this account,我們填入上面所建立的賬戶和密碼,重啟apache服務,ok,apache運行在低權限下了。
實際上我們還可以通過設置各個文件夾的權限,來讓apache用戶只能執(zhí)行我們想讓它能干的事情,給每一個目錄建立一個單獨能讀寫的用戶。這也是當前很多虛擬主機提供商的流行配置方法哦,不過這種方法用于防止這里就顯的有點大材小用了。

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)

Hei?e Themen

Das Upgrade der PHP -Version ist eigentlich nicht schwierig, aber der Schlüssel liegt in den Betriebsschritten und Vorsichtsma?nahmen. Im Folgenden finden Sie die spezifischen Methoden: 1. Best?tigen Sie die aktuelle PHP -Version und verwenden Sie die Umgebung aus der laufenden Umgebung. Verwenden Sie die Befehlszeile oder die Phpinfo.php -Datei, um sie anzuzeigen. 2. W?hlen Sie die geeignete neue Version aus und installieren Sie sie. Es wird empfohlen, es mit 8.2 oder 8.1 zu installieren. Linux -Benutzer verwenden Package Manager und MacOS -Benutzer verwenden Homebrew. 3.. Konfigurationsdateien und Erweiterungen migrieren, php.ini aktualisieren und die erforderlichen Erweiterungen installieren; 4. Testen Sie, ob die Website normal ausgeführt wird, überprüfen Sie das Fehlerprotokoll, um sicherzustellen, dass kein Kompatibilit?tsproblem vorliegt. Befolgen Sie diese Schritte und Sie k?nnen das Upgrade in den meisten Situationen erfolgreich abschlie?en.

Topreventcsrfattacksinphp, Implementanti-csrftokens.1) GenerateAndSecuretokenseuseRandom_Bytes () orbin2hex (Random_Bytes (32)), Savethemin $ _session und IncludetheThItHididInputs

Um eine PHP -Entwicklungsumgebung einzurichten, müssen Sie die entsprechenden Tools ausw?hlen und die Konfiguration korrekt installieren. ① Die grundlegendste lokale PHP -Umgebung erfordert drei Komponenten: den Webserver (Apache oder Nginx), das PHP selbst und die Datenbank (wie MySQL/Mariadb); ② Es wird empfohlen, dass Anf?nger Integrationspakete wie XAMPP oder MAMP verwenden, die den Installationsprozess vereinfachen. XAMPP ist für Windows und MacOS geeignet. Nach der Installation werden die Projektdateien in das HTDOCS -Verzeichnis platziert und über Localhost aufgerichtet. ③MAMP ist für Mac -Benutzer geeignet und unterstützt eine bequeme Umstellung von PHP -Versionen, aber die kostenlose Version hat begrenzte Funktionen. ④ Erweiterte Benutzer k?nnen sie manuell durch Homebrew in macOS/Linux -Systemen installieren

Um zwei PHP -Arrays zusammenzuführen und eindeutige Werte zu behalten, gibt es zwei Hauptmethoden. 1. Verwenden Sie für Index -Arrays oder nur Deduplizierung Array_merge und Array_unique -Kombinationen: Zuerst merge array_merge ($ array1, $ array2) und verwenden Sie dann Array_unique (), um sie endgültig zu erhalten, um ein neues Array zu erhalten, das alle eindeutigen Werte enth?lt. 2. Verwenden Sie für assoziative Arrays und m?chten im ersten Array Schlüsselwertepaare beibehalten: $ result = $ array1 $ array2, was sicherstellt, dass die Schlüssel im ersten Array vom zweiten Array nicht überschrieben werden. Diese beiden Methoden gelten für verschiedene Szenarien, je nachdem, ob der Schlüsselname beibehalten wird oder nur der Fokus liegt

exit () ist eine Funktion in PHP, mit der die Skriptausführung sofort beendet wird. Zu den gemeinsamen Verwendungen geh?ren: 1. Beenden Sie das Skript im Voraus, wenn eine Ausnahme erkannt wird, z. 2. Ausgabe Zwischenergebnisse w?hrend des Debuggens und Stoppenausführung; 3. Aufrufen von Exit () nach Umleitung in Verbindung mit Header (), um die nachfolgende Codeausführung zu verhindern; Zus?tzlich kann Exit () String -Parameter als Ausgabeinhalt oder Ganzzahlen als Statuscode akzeptieren, und sein Alias ??ist die ().

Die rationale Verwendung semantischer Tags in HTML kann die Klarheit, Zug?nglichkeit und SEO -Effekte der Seitenstruktur verbessern. 1. für unabh?ngige Inhaltsbl?cke wie Blog-Beitr?ge oder Kommentare muss sie in sich geschlossen werden. 2. für klassifizierungsbezogene Inhalte, die normalerweise Titel enthalten, ist für verschiedene Module der Seite geeignet. 3.. Wird für Hilfsinformationen im Zusammenhang mit dem Hauptinhalt verwendet, nicht jedoch Kern, wie z. B. Seitenleistenempfehlungen oder Autorprofile. In der tats?chlichen Entwicklung sollten Etiketten kombiniert und andere, überm??ige Verschachtelung vermeiden, die Struktur einfach halten und die Rationalit?t der Struktur durch Entwicklerwerkzeuge überprüfen.

Um auf Sitzungsdaten in PHP zugreifen zu k?nnen, müssen Sie zuerst die Sitzung starten und dann das Hyperglobal -Array $ _Session überarbeiten. 1. Die Sitzung muss mit Session_Start () gestartet werden, und die Funktion muss vor jeder Ausgabe aufgerufen werden. 2. überprüfen Sie bei Zugriff auf Sitzungsdaten, ob der Schlüssel vorhanden ist. Sie k?nnen ISSET ($ _ Session ['Key']) oder Array_key_exists ('Key', $ _ Session) verwenden; 3. Setzen oder aktualisieren Sitzungsvariablen müssen dem Array $ _Session nur Werte zuweisen, ohne manuell zu speichern. 4. L?schen Sie spezifische Daten mit uneingestellter ($ _ Session ['Key']), l?schen Sie alle Daten und setzen Sie $ _Session auf ein leeres Array.

Rekursive Funktionen beziehen sich auf Selbstberechtigungsfunktionen in PHP. Die Kernelemente sind 1. Definieren der Terminierungsbedingungen (Basisbeispiele), 2. Zerlegung des Problems und das Aufrufen von selbst rekursiv (rekursive Beispiele). Es ist geeignet, mit hierarchischen Strukturen umzugehen, doppelte Unterprobleme zu zerlegen oder die Lesbarkeit der Code zu verbessern, z. B. Berechnung von Faktorien, Durchqueren von Verzeichnissen usw. Es ist jedoch erforderlich, auf das Risiko des Speicherkonsums und des Stapelüberlaufs zu achten. Beim Schreiben sollten die Ausstiegsbedingungen gekl?rt werden, die grundlegenden Beispiele sollten allm?hlich angesprochen werden, die redundanten Parameter sollten vermieden und kleine Eing?nge getestet werden. Beim Scannen eines Verzeichnisses trifft die Funktion beispielsweise auf ein Unterverzeichnis und ruft sich rekursiv auf, bis alle Ebenen durchquert werden.
