Backend proqramlarda xüsusi simvolu olan parollar niyə problem yaradır?

Posted: 20-07-2025 | Views: 2
Backend proqramlarda xüsusi simvolu olan parollar niyə problem yaradır?

💡 Backend proqramlarda @ simvolu olan parollar niyə problem yaradır?

Bəzən backend tətbiqlərdə – istər Node.js, istər Python, Java, PHP və ya digər texnologiyalarla işlənmiş sistemlərdə – verilənlər bazası (DB) və ya SMTP kimi xidmətlərə bağlantı qurarkən @ simvolu olan parollardan istifadə olunur. Məsələn: Abc@123.

Hər şey düzgün görünsə də, bəzi hallarda bu tip parollar bağlantı xətalarına səbəb ola bilər.


📌 Niyə belə olur?

Çünki bir çox xidmətlərə bağlantı URI formatında connection string vasitəsilə qurulur. Bu URI formatlarında @, :, /, ?, # kimi simvolların xüsusi texniki mənası var.

Misal üçün, @ simvolu URI-də istifadəçi məlumatı ilə host hissəsini ayırmaq üçün istifadə olunur. Əgər parolun içində də @ varsa və bu encode olunmayıbsa, sistem parolu və host hissəsini səhv anlayır.


📨 Nodemailer nümunəsi

Bu problem SMTP konfiqurasiyalarında da ortaya çıxa bilər. Məsələn, nodemailer kitabxanası ilə email göndərərkən:

  • Əgər parol obyekt şəklində auth.pass kimi verilibsə – problem olmur.
  • Amma connection string (smtps://user:pass@host) istifadə olunursa və parolda @ varsa – mütləq encode edilməlidir (@%40), əks halda bağlantı uğursuz olur.

🔍 Bu problem kimləri təsir edir?

✅ Node.js ✅ Python (Django, Flask) ✅ Java (Spring Boot) ✅ PHP (Laravel və s.) ✅ Go, Ruby və digər backend dilləri

Qısacası, connection string istifadə olunan bütün mühitlərdə bu problem yarana bilər.


✅ Nə etməli?

  • Parollarınızda xüsusi simvollar varsa, URI-yə daxil etməzdən əvvəl encode edilməlidir.
  • Mümkünsə, URI əvəzinə istifadəçi adı və parol kimi parametrləri ayrı-ayrı dəyişənlər şəklində istifadə edin.
  • Həmişə konfiqurasiya fayllarını yoxlayarkən parol daxilində xüsusi simvolların təhlilinə diqqət yetirin.

🧠 Nəticə

Sadə görünən bu detal production mühitində tapılması çətin, ancaq kritik xətalara səbəb ola bilər. Sistem işləmədikdə problem bağlantı parametrlərində ola bilər – xüsusilə də parol daxilindəki @ və digər simvollarda.


#BackendDevelopment #Nodejs #Security #ConnectionString #URLEncoding #SMTP #Nodemailer #SoftwareEngineering #DevTips #DeveloperExperience #ProductionReady

Add comment