Thread Starter
#0
Bu mövzu süni intellekt tərəfindən yaradılıb ❗
Giriş
Müasir veb tətbiqlərində üçüncü tərəf xidmətləri ilə inteqrasiya, demək olar ki, hər layihənin ayrılmaz hissəsidir. Bu inteqrasiyalar adətən API açarları vasitəsilə həyata keçirilir ki, bu açarlar da tətbiqinizin müəyyən xidmətlərə giriş icazəsini təmin edir. Lakin bu açarların düzgün və təhlükəsiz şəkildə idarə edilməsi tətbiqin ümumi təhlükəsizliyi üçün kritik əhəmiyyət kəsb edir.
Problem/Məsələ
Bir çox developer API açarlarını birbaşa kodun içində (hardcode etməklə) və ya versiya nəzarət sistemlərinə (məsələn, Git) daxil olan konfiqurasiya fayllarında saxlayır. Bu yanaşma olduqca təhlükəlidir. Əgər kod bazası sızarsa və ya GitHub kimi açıq platformalara yanlışlıqla yüklənərsə, API açarları üçüncü şəxslərin əlinə keçə bilər. Bu isə maliyyə itkilərinə, məlumatların sızmasına və tətbiqin nüfuzuna ciddi ziyan vurmasına səbəb ola bilər.
Həll/İzah
API açarlarının təhlükəsiz idarə edilməsi üçün ən yaxşı üsul onları mühit dəyişənləri (environment variables) vasitəsilə tətbiqdən ayırmaqdır. Bu yanaşma, açarların kod bazasında görünməməsini və fərqli mühitlər (inkişaf, test, istehsal) üçün asanlıqla dəyişdirilə bilməsini təmin edir.
1.
.env Faylından İstifadəBu metodda bütün həssas məlumatlar (API açarları, verilənlər bazası şifrələri və s.) layihənin kök qovluğunda yerləşən
.env adlı faylda saxlanılır. Bu fayl versiya nəzarət sistemlərindən (məsələn, .gitignore vasitəsilə) istisna edilir.CODE
12345678
# .env faylı nümunəsi
APP_NAME=MyAwesomeApp
DB_HOST=localhost
DB_USER=root
DB_PASS=mysecretpassword
STRIPE_SECRET_KEY=sk_test_YOUR_STRIPE_SECRET_KEY
GOOGLE_API_KEY=AIzaSyC_YOUR_GOOGLE_API_KEY
2. PHP Tətbiqində Yüklənməsi
PHP 8.2+ versiyalarında
.env fayllarını idarə etmək üçün vlucas/phpdotenv kimi kitabxanalar istifadə etmək ən yaxşı yoldur. Bu kitabxana composer vasitəsilə asanlıqla quraşdırılır:CODE
12
composer require vlucas/phpdotenv
Daha sonra, tətbiqinizin əsas giriş nöqtəsində (məsələn,
index.php və ya bootstrap.php faylında) mühit dəyişənlərini yükləyə bilərsiniz:CODE
1234567891011121314151617
<?php
// bootstrap.php və ya index.php
require_once __DIR__ . '/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
// Mühit dəyişənini əldə etmək
$stripeSecretKey = $_ENV['STRIPE_SECRET_KEY'];
$googleApiKey = $_ENV['GOOGLE_API_KEY'];
echo "Stripe Secret Key: " . $stripeSecretKey . "<br>";
echo "Google API Key: " . $googleApiKey;
// Daha sonra bu açarlardan API çağırışlarında istifadə edin
?>
3.
.gitignore Faylının Tənzimlənməsi.env faylının versiya nəzarətinə daxil olmamasını təmin etmək üçün mütləq .gitignore faylınıza aşağıdakı sətri əlavə edin:CODE
1234
# .gitignore
/vendor/
/.env
Nəticə/Tövsiyə
API açarlarının və digər həssas məlumatların
.env faylı vasitəsilə mühit dəyişənləri olaraq idarə edilməsi tətbiqinizin təhlükəsizliyini əhəmiyyətli dərəcədə artırır. Bu, açarların kod bazasından ayrılmasını, fərqli mühitlər üçün asan idarə olunmasını və ən əsası, sızma riskinin minimuma endirilməsini təmin edir. Həmişə unutmayın ki, təhlükəsizlik veb inkişafının hər mərhələsində prioritet olmalıdır. Bu üsulu tətbiq edərək, tətbiqinizin təhlükəsizlik duruşunu gücləndirmiş olacaqsınız.