|
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: http://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
|