Įvadas
„Flask“ yra „Python“ sistema, skirta žiniatinklio programoms kurti. Naudodami „Flask“ kūrėjai gali lengvai apibrėžti maršrutus, tvarkyti HTTP užklausas ir atsakymus bei pateikti dinamišką turinį naudodami „Jinja2“ šablonus. Ji taip pat palaiko plėtinius, leidžiančius kūrėjams integruoti tokias funkcijas kaip prieiga prie duomenų bazės, formų tvarkymas ir vartotojo autentifikavimas.
Šiame straipsnyje mes įdiegsime Flask programą naudodami Gunicorn, kartu su CSRF apsauga ir turinio saugos politikos įgyvendinimu. Taip pat ketiname nustatyti atvirkštinį tarpinį serverį naudodami „Nginx“ ir įdiegti HTTPS, prašydami nemokamo SSL sertifikato iš „Let's Encrypt“.
Įdiekite „Vultr“ optimizuotą debesies egzempliorių
- Prisiregistruokite ir prisijunkite prie „Vultr“ klientų portalo.
- Eikite į Produktai puslapį.
- Šoniniame meniu pasirinkite Apskaičiuokite.
- Spustelėkite Įdiegti serverį mygtuką centre.
- Kaip serverio tipą pasirinkite Optimized Cloud Compute.
- Pasirinkite serverio vietą.
- Kaip operacinę sistemą pasirinkite Ubuntu 24.04.
- Pasirinkite tinkamą planą.
- Pasirinkite bet kurį Papildomos funkcijos jei reikia.
- Spustelėkite Įdiegti dabar.
Pridėkite demonstracinius programos kodo failus
Nustatykite Python virtualią aplinką
- Įdiekite
python3-venv
paketą - Sukurkite virtualią aplinką.
- Suaktyvinkite virtualią aplinką.
Pridėti demonstracinius programos kodo failus
- Klonuokite „Github“ saugyklą.
- Eikite į projekto katalogą.
- Įdiekite „Flask“ ir „Gunicorn“ paketus.
- Leisti įeinančius ryšius prie prievado
5000
.
Taikykite CSRF apsaugos ir turinio saugos politiką
Cross-Site Request Forgery (CORS) yra pažeidžiamumas, leidžiantis kam nors išnaudoti vartotojo prisijungimo seansą patikimoje svetainėje ir pateikti neteisėtų užklausų kitai svetainei, kuria vartotojas pasitiki. „WTForms“ yra „Flask“ plėtinys, kuris pagal numatytuosius nustatymus integruoja CSRF apsaugą, kad būtų išvengta CORS atakų.
Turinio saugos politika (CSP) yra papildomas žiniatinklio programų saugos sluoksnis, apsaugantis jas nuo kenkėjiškų atakų. CSP nurodo naršyklei, kokius išteklius leidžiama įkelti konkrečiame tinklalapyje. Paprastai svetainės administratorius sukonfigūruoja CSP, pridėdamas specialią antraštę prie serverio atsakymo tinklalapiui, tada naršyklė gauna CSP antraštę ir supranta, kokius išteklius leidžiama įkelti. „Talisman“ yra „Flask“ plėtinys, kuris supaprastina CSP įtraukimo į „Flask“ programas procesą.
- Įdiegti
flask-wtf
irtalisman
paketus - Atidarykite
app.py
failą. - Redaguoti
app.py
failą, kad būtų įtraukta turinio saugos politika. - Į
app.py
failą, importuoti ir sukonfigūruoti CSRF apsaugą.Išsaugokite ir uždarykite failą.
- Eikite į
templates
katalogas. - Atidarykite
index.html
failą. - Redaguokite HTML puslapį, kad įtrauktumėte CSRF konfigūraciją.
Išsaugokite ir uždarykite failą.
- Išeikite iš
templates
katalogas.
Nginx konfigūravimas kaip atvirkštinis tarpinis serveris
„Nginx“ veikia kaip atvirkštinis tarpinis serveris tarp jūsų žiniatinklio serverio ir klientų. Jis nukreipia gaunamas užklausas pagal jūsų užklausos konfigūracijos nustatymus. Šiame skyriuje sukonfigūruosime atvirkštinio tarpinio serverio programą, kad būtų galima veiksmingai tvarkyti užklausas ir balansuoti apkrovą. Taip pat ketiname paprašyti nemokamo SSL sertifikato iš Let's Encrypt, kad įdiegtume HTTPS, užtikrinantį ryšį tarp vartotojo ir mūsų domeno žiniatinklio serverio.
- Prisijunkite prie „Vultr“ klientų portalo.
- Eikite į puslapį Produktai.
- Šoniniame meniu išplėskite išskleidžiamąjį meniu Tinklas ir pasirinkite DNS.
- Spustelėkite mygtuką Pridėti domeną centre.
- Vykdykite sąrankos procedūrą, kad pridėtumėte domeno pavadinimą, pasirinkdami savo serverio IP adresą.
- Su domeno registratoriumi nustatykite šiuos pagrindinio kompiuterio pavadinimus kaip pagrindinius ir antrinius domeno vardų serverius.
- Įdiekite „Nginx“.
- Sukurkite naują Nginx konfigūracijos failą.
- Įklijuokite šią konfigūraciją į failą.
- Suaktyvinkite virtualaus pagrindinio kompiuterio konfigūraciją.
- Išbandykite Nginx konfigūraciją.
- Iš naujo įkelkite Nginx.
- Leisti įeinančius ryšius prie prievado
80
ir443
. - Įdiekite certbot paketą.
- Prašyti SSL sertifikato.
- Paleiskite Gunicorn serverį.
- Dabar galite pasiekti savo „Flask“ programą adresu
https://<your_domain>
.
Atlikite daugiau su Python programomis Vultr
Išvada
Šiame straipsnyje mes ištyrėme, kaip įdiegti „Flask“ programą naudojant „Nginx“ atvirkštinį tarpinį serverį ir „Gunicorn“ su CSRF apsauga ir CSP. Taip pat apsaugojome programą pridėdami SSL sertifikatą ir įgalindami HTTPS prieigą.
Tai yra Vultr remiamas straipsnis. Vultr yra didžiausia pasaulyje privati debesų kompiuterijos platforma. Kūrėjų pamėgta „Vultr“ aptarnavo daugiau nei 1,5 mln. klientų 185 šalyse, naudodama lanksčius, keičiamo dydžio, pasaulinius „Cloud Compute“, „Cloud GPU“, „Bare Metal“ ir „Cloud Storage“ sprendimus. Sužinokite daugiau apie Vultr