Spickzettel zur PHP-Sicherheitskonfiguration, verwaltet von OWASP

藏色散人
Freigeben: 2023-04-07 21:40:02
nach vorne
2102 Leute haben es durchsucht

Spickzettel zur PHP-Sicherheitskonfiguration, verwaltet von OWASP

Einführung

Der Zweck dieser Seite besteht darin, denjenigen zu helfen, die PHP und die Webserver, auf denen es läuft, konfigurieren, um dies sicherzustellen seine Sicherheit.

Unten finden Sie die korrekten Konfigurationsinformationen für die php.ini-Datei.

php.ini

Einige der folgenden Einstellungen müssen an Ihr System angepasst werden, insbesondere session.save_path, session.cookie_path (zum Beispiel: /var/www /mysite) und session.cookie_domain (zum Beispiel: exampleSite.com).

Sie sollten außerdem PHP 7.2 oder höher ausführen. Wenn Sie PHP 7.0 und PHP 7.1 verwenden, werden Sie an einigen Stellen unten leicht unterschiedliche Werte verwenden (siehe Inline-Kommentare).

Schauen Sie sich abschließend die PHP-Dokumentation an, um eine Referenz zu jedem Wert in der Konfigurationsdatei php.ini zu finden.

Eine Kopie der folgenden Konfiguration in einer vorgefertigten php.ini-Datei finden Sie hier.

PHP-Fehlerbehandlung

expose_php              = Off
error_reporting         = E_ALL
display_errors          = Off
display_startup_errors  = Off
log_errors              = On
error_log               = /valid_path/PHP-logs/php_error.log
ignore_repeated_errors  = Off
Nach dem Login kopieren

Bitte beachten Sie: Sie müssen display_errors in der Produktionsumgebung auf Aus setzen, und es ist am besten, eine gute Angewohnheit zu entwickeln, diese Protokolle zu überprüfen häufig.

Gemeinsame PHP-Einstellungen

doc_root                = /path/DocumentRoot/PHP-scripts/
open_basedir            = /path/DocumentRoot/PHP-scripts/
include_path            = /path/PHP-pear/
extension_dir           = /path/PHP-extensions/
mime_magic.magicfile    = /path/PHP-magic.mime
allow_url_fopen         = Off
allow_url_include       = Off
variables_order         = "GPCS"
allow_webdav_methods    = Off
session.gc_maxlifetime  = 600
Nach dem Login kopieren

allow_url_* ist anfällig für vollständige LFI- und RFI-Schwachstellen.

PHP-Upload-Dateiverarbeitung

file_uploads            = On
upload_tmp_dir          = /path/PHP-uploads/
upload_max_filesize     = 2M
max_file_uploads        = 2
Nach dem Login kopieren

Wenn Ihre Anwendung die Datei-Upload-Funktion nicht verwendet oder die einzige Möglichkeit für Benutzer, Uploads einzugeben, ein Formular ist, das dies nicht tut Dokumentanhänge enthalten Zum Senden sollte file_uploads auf Aus gesetzt sein.

Verarbeitung ausführbarer PHP-Dateien

enable_dl               = Off
disable_functions       = system, exec, shell_exec, passthru, phpinfo, show_source, highlight_file, popen, proc_open, fopen_with_path, dbmopen, dbase_open, putenv, move_uploaded_file, chdir, mkdir, rmdir, chmod, rename, filepro, filepro_rowcount, filepro_retrieve, posix_mkfifo
# 请查看:http://ir.php.net/features.safe-mode
disable_classes         =
Nach dem Login kopieren

Die oben genannten Methoden und Klassen sind in PHP gefährlich. Nicht verwendete Methoden und Klassen sollten Sie deaktivieren.

PHP-Sitzungsbehandlung

Es gibt einige Werte, die in den Sitzungseinstellungen beachtet werden müssen. Es ist eine gute Übung, den Sitzungsnamen zu ändern zu einem neuen.

 session.save_path                = /path/PHP-session/
 session.name                     = myPHPSESSID
 session.auto_start               = Off
 session.use_trans_sid            = 0
 session.cookie_domain            = full.qualified.domain.name
 #session.cookie_path             = /application/path/
 session.use_strict_mode          = 1
 session.use_cookies              = 1
 session.use_only_cookies         = 1
 session.cookie_lifetime          = 14400 # 4小时 
 session.cookie_secure            = 1
 session.cookie_httponly          = 1
 session.cookie_samesite          = Strict
 session.cache_expire             = 30 
 session.sid_length               = 256
 session.sid_bits_per_character   = 6 # PHP 7.2+
 session.hash_function            = 1 # PHP 7.0-7.1
 session.hash_bits_per_character  = 6 # PHP 7.0-7.1
Nach dem Login kopieren

Mehr Prüfungen auf Sicherheitsrisiken

session.referer_check   = /application/path
memory_limit            = 50M
post_max_size           = 20M
max_execution_time      = 60
report_memleaks         = On
track_errors            = Off
html_errors             = Off
Nach dem Login kopieren

Englische Originaladresse:

https://github.com/OWASP/ CheatSheetSeries/blob/master/cheatsheets /PHP_Configuration_Cheat_Sheet.md

Das obige ist der detaillierte Inhalt vonSpickzettel zur PHP-Sicherheitskonfiguration, verwaltet von OWASP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:learnku.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!