Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Sicherheitsschutz: Stärkung der Verzeichnisberechtigungskontrolle

PHP-Sicherheitsschutz: Stärkung der Verzeichnisberechtigungskontrolle

WBOY
WBOYOriginal
2023-06-24 11:53:58687Durchsuche

In der Webentwicklung sind Verzeichnisse ein wichtiger Bestandteil der Bereitstellung der von Webanwendungen benötigten Ressourcen. Wenn die Zugriffsberechtigungen für das Dateiverzeichnis jedoch nicht ordnungsgemäß sind, kann dies leicht zu Problemen mit der Websicherheit führen. Beispielsweise kann ein unbefugter Dritter schädliche Dateien auf Ihren Server hochladen und so einen Serverangriff auslösen. Daher muss während des Entwicklungsprozesses von Webanwendungen die Verzeichnisberechtigungskontrolle verstärkt werden, um illegalen Zugriff und böswillige Datei-Uploads zu verhindern.

Um die Verzeichnisberechtigungskontrolle zu stärken, können wir folgende Maßnahmen ergreifen:

  1. Verzeichniszugriffsberechtigungen einschränken

In Linux-Systemen können Verzeichnisberechtigungen über den Befehl chmod gesteuert werden. Der spezifische Befehl lautet wie folgt:

chmod 700 /var/www/html/uploads/

Die Bedeutung des obigen Befehls besteht darin, dass nur der Verzeichnisbesitzer (normalerweise der Webserverprozess) Zugriffs-, Schreib- und Ausführungsberechtigungen für das Verzeichnis hat und andere keine Zugriffsberechtigungen haben.

  1. Ausführung von Skriptdateien verbieten

Einige Verzeichnisse werden zum Speichern von Skriptdateien verwendet, z. B. PHP-Skriptdateien, die vom Webserverprozess ausgeführt werden können. Wenn der Webserverprozess kompromittiert ist, kann dieses Verzeichnis zum Speichern und Ausführen bösartiger Skripte verwendet werden. Um dies zu verhindern, können wir die Ausführung von Skriptdateien im Verzeichnis über die Apache-Konfigurationsdatei deaktivieren. Die spezifische Methode lautet wie folgt:

Suchen Sie in der Apache-Konfigurationsdatei den folgenden Code:

<Directory /var/www/html/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Ändern Sie ihn in:

<Directory /var/www/html/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    AddHandler txt .txt
    AddHandler html .html
    AddHandler htm .htm
    AddHandler php .php .inc
</Directory>

<FilesMatch ".(php|inc)$">
    Order Deny,Allow
    Deny from all
</FilesMatch>

In der obigen Konfigurationsdatei haben wir einige MIME-Typen hinzugefügt, damit der Apache-Server HTML bereitstellen kann , TXT und stellen PHP-Dateien bereit. Durch den Abgleich der PHP- und INC-Dateinamen im b5b7f795fbd764be2f6705fd2f78034b-Tag deaktivieren wir dann die Ausführung von PHP- und INC-Dateien in allen Verzeichnissen.

  1. Sicherheitslücken beim Hochladen von Dateien verhindern

In einigen Webanwendungen können Benutzer Dateien wie Bilder und Dokumente hochladen. Diese hochgeladenen Dateien können jedoch schädlichen Code enthalten, und Angreifer können Schwachstellen beim Hochladen von Nutzlastdateien ausnutzen, um schädliche Dateien an den Server zu übermitteln. Um Angriffe zu verhindern, können wir die Sicherheit von Datei-Uploads erhöhen, indem wir:

  • Die Art der hochgeladenen Dateien einschränken.
    Es dürfen nur sichere Dateitypen hochgeladen werden, wie zum Beispiel Bilder, Dokumente, Audio usw. Gefährliche Dateitypen wie EXE, BAT, DLL und andere Dateien dürfen nicht hochgeladen werden.
  • Hochgeladene Dateien filtern.
    Filtern Sie hochgeladene Dateien, um die Sicherheit der hochgeladenen Dateien zu gewährleisten. Sie können Plug-ins von Drittanbietern oder Open-Source-Tools verwenden, um zu überprüfen, ob hochgeladene Dateien schädlichen Code enthalten.
  • Speichern Sie hochgeladene Dateien in einem sicheren Verzeichnis.
    Speichern Sie hochgeladene Dateien in einem sicheren Verzeichnis, damit der Webserver keine Berechtigung zum Ausführen hochgeladener Dateien hat. Gleichzeitig kann es auch die Ausführung schädlicher Dateien verhindern, die durch die Ausnutzung von Datei-Upload-Schwachstellen übertragen werden.

Im Allgemeinen ist die Stärkung der Verzeichnisberechtigungskontrolle bei der Entwicklung von Webanwendungen ein wichtiges Mittel zur Abwehr von Webangriffen. Durch eine vernünftige und strikte Kontrolle der Zugriffsberechtigungen von Dateiverzeichnissen kann böswilliges Verhalten effektiv reduziert werden. Die Kontrolle der Verzeichnisberechtigungen ist eine notwendige Voraussetzung für die Websicherheit und sowohl Programmierer als auch Manager sollten darauf achten.

Das obige ist der detaillierte Inhalt vonPHP-Sicherheitsschutz: Stärkung der Verzeichnisberechtigungskontrolle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn