Məqalələr kataloqu
Həmişəki kimi WordPress admin panelini açanda ehtiyat nüsxə jurnallarını yoxlamağa hazır idim.
Sonra bir dəstə sarı rəngli lələk gördüm.
Xəbərdarlıq, xəbərdarlıq və yenə də xəbərdarlıq.
警告: is_readable(): open_basedir restriction in effect. File(/home/admin/.aws/config) is not within the allowed path(s): (...)
Yedəkləmə fasiləsiz tamamlandı, lakin status çubuğu tamamilə sarı idi və bu, baxmaq üçün həqiqətən əsəbi idi.
Bu hissi bilirsinizmi? Sanki PR təqdim edirsiniz, bütün CI-lər yaşıl rəngdədir, amma orada xəbərdarlıq var. Bunun əməliyyata təsir etməyəcəyini bilirsən, amma yenə də özünü narahat hiss edirsən.
Bir anlıq bu barədə düşündüm.
Bu problem tamamilə həll edilə bilərmi?

BackWPup xəbərdarlığının əsl səbəbi: AWS SDK open_basedir limitini işə saldı.
Düzü, əvvəlcə bunun BackWPup ehtiyat nüsxə plagini ilə bağlı problem olduğunu düşündüm, çünki xəbərdarlıq onun qeydlərində peyda olmuşdu.
Amma daha yaxından yoxlanıldıqda, bir şeyin səhv olduğu aşkar oldu.
Xəbərdarlıqda bir yol qeyd olunmuşdu./home/admin/.aws/configBu, başlanğıc zamanı cari istifadəçinin standart AWS konfiqurasiya qovluğunu avtomatik olaraq axtaran AWS SDK-dır.
Bu bir az qarışıq səslənir, elə deyilmi?
Əsasən, bu o deməkdir ki, WordPress-də S3 yaddaşı və ya CloudFront kimi AWS ilə əlaqəli bir plagin quraşdırsanız, bu plaginlərin hamısı əsas olaraq AWS SDK-dan istifadə edir. AWS SDK işə düşəndə, avtomatik olaraq ana qovluğunuzu AWS SDK quraşdırma alətləri üçün yoxlayacaq..awsBu qovluq konfiqurasiya faylları və etimadnamələri ehtiva edir.
Lakin, təhlükəsizlik səbəbi ilə PHP serveri... açdı.open_basedirBu, serverdə bir ərazini işarələmək və PHP-yə yalnız bu ərazi daxilində hərəkət edə biləcəyinizi və gəzə bilməyəcəyinizi demək kimidir.
/tmpKataloq ağ siyahıdadır, veb sayt kataloqu ağ siyahıdadır, amma sizin kataloqunuz, üzr istəyirəm, ağ siyahıda deyil.
AWS SDK qovluğunuza daxil olmağa çalışdıqda, bloklanır.
Sonra xəbərdarlıq peyda oldu.
open_basedir xəbərdarlıqlarını həll etmək üçün düzgün yanaşma: AWS konfiqurasiya yolunu yönləndirin.
Düzünü desəm, ilk reaksiyam onu dəyişdirmək oldu.open_basedirKonfiqurasiya edin, qoyun/home/adminƏlavə edin.
Amma sonra yenidən düşündüm və bunun doğru olmadığını anladım.
Bununla səhv etdiniz. Formatlama səhvdir. İrəli xətt çəkdiniz və əlavə boşluq əlavə etdiniz. Nəticədə 500 xətası yarandı və bütün sayt yox oldu.
vəopen_basedirTəhlükəsizlik səbəbi ilə açılıb. Əgər onu açsanız, əslində serverə boşluq yaradırsınız və bu, buna dəyməz.
Daha təhlükəsiz bir yol varmı?
Bir anlıq düşündüm, çünki AWS SDK-nı tapmaq lazımdır.../home/admin/.aws/configBu faylı başqa yerdə axtarmağa məcbur edə bilərəmmi?
Artıq ağ siyahıda olan yerlərdən birinə gedin.
WordPress BackWPup xəbərdarlıqlarını düzəldin: wp-config.php ünvanına iki sətir kod əlavə edin
Həll yolu əslində gülünc dərəcədə sadədir.
WordPress-dəwp-config.phpFayla sadəcə iki sətir kod əlavə edin.
// 解决 AWS open_basedir 警告的环境变量设置
putenv('AWS_CONFIG_FILE=' . __DIR__ . '/wp-content/uploads/.aws_config');
putenv('AWS_SHARED_CREDENTIALS_FILE=' . __DIR__ . '/wp-content/uploads/.aws_credentials');
putenv('AWS_EC2_METADATA_DISABLED=true');
/* That's all, stop editing! Happy publishing. */Əlavə et/* That's all, stop editing! Happy publishing. */Sadəcə bu xəttin üstündən keçin.
Sadəcə bu üç sətir.
Hamısı budur.
Təmir effektinin yoxlanılması: BackWPup ehtiyat nüsxə qeydləri normal vəziyyətə qayıtdı.
Dəyişikliklər etdikdən sonra WordPress arxa planına qayıdın, BackWPup-ı açın və "İndi işlət" düyməsini basın.
İşləmə başa çatdıqdan sonra qeydləri yoxlayın.
Parlaq sarı xəbərdarlıqlar yoxa çıxdı, yerini yaşıl "uğurla tamamlandı" mesajları aldı.
Çox hamardır.
İki sətir kod, sıfır risk, dəyişdirmək üçün 10 saniyədən az vaxt və problem tamamilə həll edildi.
Bu cür "ölümcül deyil, amma bezdirici" problemlər əslində ən çox vaxt aparan problemlərdir. Çünki yeniləmədən sonra vəziyyətin birdən pisləşib-pisləşməyəcəyini və digər plaginlərə təsir edib-etməyəcəyini bilmirsiniz.
Əgər bir şeyi iki sətir kodla tamamilə aradan qaldırmaq mümkündürsə, onu maneə törətməyin.
Tamam, bu məqalə üçün bu qədər.
Bu məsələ mürəkkəb olmadığı üçün sizə hər hansı bir məlumat, sənaye təhlili və ya gələcək trendlər barədə məlumat verməyə ehtiyacım yoxdur.
Bu, sadəcə WordPress admin panelindəki kiçik bir xəbərdarlıq və iki sətir kodla düzəlişdir.
Ümid edirəm ki, növbəti dəfə sarı xəbərdarlığı görəndə bu məqaləni xatırlayacaqsınız.
Ümid edirik ki, Chen Weiliang-ın bloqunda ( https://www.chenweiliang.com/ ) paylaşılan "WordPress BackWPup plagini is_readable(): open_basedir məhdudiyyətinin qüvvədə olmasını necə həll etmək olar. AWS yol xəbərdarlığı?" məqaləsi sizə faydalı olacaq.
Bu məqalənin linkini paylaşmaqdan çəkinməyin: https://www.chenweiliang.com/cwl-34455.html
