Bí mật PHP

Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không?

session_start[];
include['secretpath.class.php'];

if[ empty[$_SESSION['secpth']] ]{

    header['location: example.php'];
    exit;

}else{

    $secpth = unserialize[$_SESSION['secpth']];

}

if[ $secpth->testAuth[] === true ]{

    echo 'Authorized Access!';

}else{

    echo 'Access Denied!';

}

?>

Trang này nhằm giúp những người định cấu hình PHP và máy chủ web mà nó đang chạy trở nên rất an toàn

Dưới đây, bạn sẽ tìm thấy thông tin về cài đặt thích hợp cho tệp php.ini và hướng dẫn về cách định cấu hình máy chủ web Apache, Nginx và Caddy

Để biết bảo mật cơ sở mã PHP chung, vui lòng tham khảo hai hướng dẫn tuyệt vời sau đây

  • Hướng dẫn bảo mật PHP 2018 của Paragonie
  • Bảo mật PHP tuyệt vời

Cấu hình và triển khai PHP

php. ban đầu

Một số cài đặt sau cần được điều chỉnh cho phù hợp với hệ thống của bạn, cụ thể là session.save_path, session.cookie_path [e. g. /var/www/mysite], và

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
0 [e. g.
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
1]

Bạn cũng nên chạy PHP 7. 2 hoặc muộn hơn. Nếu chạy PHP 7. 0 và 7. 1, bạn sẽ sử dụng các giá trị hơi khác nhau ở một số vị trí bên dưới [xem nhận xét nội tuyến]. Cuối cùng xem qua Hướng dẫn PHP để có tài liệu tham khảo đầy đủ về mọi giá trị trong php. tập tin cấu hình ini

Bạn có thể tìm thấy bản sao của các giá trị sau trong tệp php sẵn sàng hoạt động. tập tin ini ở đây

Xử lý lỗi PHP

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

Hãy nhớ rằng bạn cần có

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
2 đến
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
3 trên máy chủ sản xuất và bạn nên thường xuyên chú ý nhật ký

Cài đặt chung PHP

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

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
4 ngăn LFI dễ dàng leo thang thành RFI

Xử lý tải lên tệp PHP

file_uploads            = On
upload_tmp_dir          = /path/PHP-uploads/
upload_max_filesize     = 2M
max_file_uploads        = 2

Nếu ứng dụng của bạn không sử dụng tính năng tải tệp lên và cho biết dữ liệu duy nhất mà người dùng sẽ nhập/tải lên là các biểu mẫu không yêu cầu bất kỳ tài liệu đính kèm nào, thì

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
5 sẽ được chuyển thành
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
3

Xử lý thực thi PHP

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
# see also: //ir.php.net/features.safe-mode
disable_classes         =

Đây là những hàm PHP nguy hiểm. Bạn nên vô hiệu hóa tất cả những gì bạn không sử dụng

Xử lý phiên PHP

Cài đặt phiên là một số giá trị quan trọng NHẤT cần tập trung vào khi định cấu hình. Đó là một thực hành tốt để thay đổi

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
7 thành một cái gì đó mới

 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 hours
 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

Một số kiểm tra hoang tưởng bảo mật hơn

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

Vớ vẩn

Suhosin là một bản vá cho PHP cung cấp một số tính năng tăng cường và bảo mật không có sẵn trong bản dựng PHP mặc định. Tuy nhiên, Suhosin chỉ hoạt động với PHP 5, không được hỗ trợ và không nên sử dụng

Đối với PHP 7, có Suhosin-ng, nhưng nó đang ở giai đoạn tiền phát hành và do đó không nên được sử dụng trong sản xuất

Snuffleupagus

Snuffleupagus là hậu duệ tinh thần của Suhosin cho PHP 7 trở đi, với các tính năng hiện đại. Nó được coi là ổn định và có thể sử dụng được trong sản xuất

Làm cách nào để sử dụng AWS Secrets Manager trong PHP?

Sau đó, nhập AWS SDK cho PHP, như được mô tả trong phần Sử dụng cơ bản. .
Tạo một bí mật trong Secrets Manager. .
Liệt kê các bí mật được lưu trữ trong Secrets Manager. .
Lấy thông tin chi tiết về một bí mật. .
Cập nhật giá trị bí mật. .
Xoay giá trị thành bí mật hiện có trong Trình quản lý bí mật. .
Xóa bí mật khỏi Trình quản lý bí mật

Làm cách nào để bảo mật thông tin đăng nhập cơ sở dữ liệu trong PHP?

Tôi đã nghĩ đến các tùy chọn sau. .
Chỉ cần để lại cấu hình. .
Tạo một tệp PHP bên ngoài thư mục gốc của web, chẳng hạn như mật khẩu. .
Đặt mật khẩu cơ sở dữ liệu trong một biến môi trường trong tệp cấu hình PHP-FPM [env[DB_PASSWD] = MyPassword]. .
Đặt mật khẩu cơ sở dữ liệu trong một biến môi trường được xác định trong

Làm cách nào để truy cập Azure Key Vault trong PHP?

Bắt đầu sau ba bước đơn giản. .
Thêm danh tính do hệ thống chỉ định vào Dịch vụ ứng dụng Azure của bạn và chỉ định quyền cho ứng dụng của bạn để đọc và liệt kê các bí mật từ Key Vault
Cài đặt gói này trong dự án của bạn bằng Composer. nhà soạn nhạc yêu cầu wapacro/az-keyvault-php

Chủ Đề