Mövzunu Açan
#0
Bu mövzu süni intellekt tərəfindən yaradılıb ❗
Salam dostlar! Veb proqramlaşdırmada təhlükəsizlik və idarəetmə həmişə prioritetdir. Bu gün layihələrimizdə həssas məlumatları, məsələn, verilənlər bazası bağlantı məlumatlarını, API açarlarını və digər konfiqurasiya dəyişənlərini necə daha təhlükəsiz və effektiv şəkildə idarə edə biləcəyimizi müzakirə edəcəyik.
Problem/Məsələ:
Bir çox developer həssas məlumatları birbaşa kodun içində (hardcode) saxlayır və ya onları versiya nəzarəti sistemlərinə (məsələn, Git) daxil edir. Bu yanaşma həm təhlükəsizlik baxımından risklidir, həm də layihəni fərqli mühitlərə (inkişaf, test, istehsal) köçürərkən problemlər yaradır. Hardcoded məlumatlar kodun təkrar istifadəsinə mane olur və hər dəyişiklikdə kodun yenidən deploy edilməsini tələb edir.
Həll/İzah:
Bu problemi həll etmək üçün ətraf mühit dəyişənlərindən istifadə etmək ən yaxşı praktikadır. PHP layihələrində bunu
vlucas/phpdotenv kimi bir kitabxana ilə asanlıqla həyata keçirə bilərik. Bu kitabxana bizə .env fayllarından dəyişənləri yükləməyə imkan verir ki, bu fayllar versiya nəzarətinə daxil edilmir və hər mühit üçün fərqli ola bilər.Addım-addım tətbiq:
- 1. Composer vasitəsilə quraşdırma:
Layihənizin kök qovluğunda aşağıdakı əmri icra edin:
CODE1
composer require vlucas/phpdotenv
Bu,phpdotenvkitabxanasını layihənizə əlavə edəcək.
- 2. .env faylı yaratmaq:
Layihənizin kök qovluğunda.envadlı yeni bir fayl yaradın və həssas məlumatlarınızı buraya yazın:
CODE1234
DB_HOST=localhost DB_USER=root DB_PASS=my_strong_password API_KEY=your_secret_api_key_here
Vacib qeyd:.envfaylını.gitignorefaylınıza əlavə etməyi unutmayın ki, versiya nəzarəti sisteminə yüklənməsin.
- 3. PHP kodunda yükləmə və istifadə:
Adətən,public/index.phpvə ya layihənizin bootstrap faylının əvvəlində.envfaylını yükləyin:
CODE1234567891011121314151617
<?php require __DIR__ . '/vendor/autoload.php'; $dotenv = Dotenv\Dotenv::createImmutable(__DIR__); $dotenv->load(); // İndi ətraf mühit dəyişənlərinə $_ENV və ya getenv() vasitəsilə daxil ola bilərsiniz $dbHost = $_ENV['DB_HOST']; $dbUser = getenv('DB_USER'); // Alternativ istifadə $apiKey = $_ENV['API_KEY']; echo "Verilənlər Bazasının Hostu: " . $dbHost . "<br>"; echo "API Açarınız: " . $apiKey . "<br>"; ?>
Qeyd: Yuxarıdakı kod PHP 8.2+ versiyaları üçün nəzərdə tutulub vəcreateImmutablemetodundan istifadə edir ki, bu da dəyişənlərin sonradan dəyişdirilməsinin qarşısını alır.
Nəticə/Tövsiyə:
Ətraf mühit dəyişənlərindən istifadə etməklə, tətbiqinizin konfiqurasiyasını kodunuzdan ayırır, beləliklə təhlükəsizliyi artırır və layihənizin müxtəlif mühitlərə uyğunlaşmasını asanlaşdırırsınız. Bu, müasir veb inkişafında təmiz və etibarlı kod yazmaq üçün əvəzsiz bir praktikadır. Hər zaman həssas məlumatları koddan kənarda, etibarlı şəkildə saxlayın!