Kaip sugeneruoti naują slaptą raktą „Django“.

Kaip sugeneruoti naują slaptą raktą „Django“.
Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius. Skaityti daugiau.

Django slaptas raktas atlieka gyvybiškai svarbų vaidmenį didinant jūsų programos saugumą. Jis padeda valdyti naudotojų seansus, apsaugo nuo kelių svetainių užklausų klastojimo (CSRF) atakų ir apsaugo jūsų duomenis, be kita ko, generuodamas ir tikrindamas kriptografinius parašus.





DIENOS VAIZDO ĮRAŠO PAGALBA SLĖKITE, KAD TĘSITE SU TURINIU

Visada turėtumėte saugoti savo projekto slaptąjį raktą. Atskleidus ją, jūsų programa bus jautri kenkėjiškoms įsilaužėlių atakoms, o tai pakenks jos saugumui. Jei jūsų slaptasis raktas pažeidžiamas, turėtumėte žinoti, kaip sukurti naują, kad sumažintumėte neigiamą poveikį programai.





Kaip gali būti atskleistas jūsų slaptasis „Django“ raktas?

Galite netyčia padaryti savo Django slaptąjį raktą viešą, jei nesąmoningai jį įtrauksite į git ar panašią šaltinio kodo saugyklą. Ši klaida yra dažna tarp naujų programuotojų, kurie vis dar yra sužinoti apie GitHub . Kai tai atsitiks, galite atlikti vieną iš šių veiksmų:





  1. Ištrinkite įsipareigojimą.
  2. Visiškai pakeiskite slaptąjį raktą.

Įsipareigojimo ištrynimas gali būti ne geriausias pasirinkimas, nes įsipareigojimų istoriją vis tiek galima pasiekti įvairiomis priemonėmis, pvz., talpykloje esančiomis kopijomis „GitHub“ ar kitose paskirstytose sistemose. Saugiausia tokioje situacijoje manyti, kad jūsų slaptasis raktas jau pažeistas.

Turėtumėte sugeneruoti naują slaptąjį raktą, kad pakeistumėte pažeistą ir apsaugotumėte jį naudodami aplinkos kintamuosius. Bet kokiu atveju turėtumėte išmokti sugeneruoti naują slaptąjį raktą „Django“, kad apsaugotumėte programą nuo tokių dalykų kaip Cross-Site Request Forgery (CSRF) atakos .



Kaip sugeneruoti naują slaptą raktą „Django“.

Django suteikia funkciją, vadinamą get_random_secret_key() kuri padeda generuoti naują slaptąjį raktą, kai tik jį skambinate. Funkcija get_random_secret_key() yra naudingumo funkcija, kuri naudoja paslapčių modulis Python, kad sugeneruotų saugų slaptą 50 simbolių raktą.

Norėdami sugeneruoti naują slaptąjį raktą naudodami get_random_secret_key() funkciją, atidarykite savo Komandinės eilutės sąsaja (CLI) ir įveskite šią komandą:





stebuklinga pelė 2 prieš stebuklingą klaviatūrą 2
 python manage.py shell -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())" 

Aukščiau pateikta komanda importuoja funkciją get_random_secret_key() iš django.core.management.utils ir tada išspausdina naują slaptą 50 simbolių raktą, kurį galite naudoti savo projekte. Prieš paleisdami aukščiau pateiktą komandą įsitikinkite, kad esate projekto šakniniame kataloge, t. y. toje pačioje vietoje kaip ir valdyti.py failą savo projekte.

Tą pačią komandą galite paleisti ne savo CLI, sukurdami Python failą ir įklijuodami į jį šį kodo fragmentą:





kaip išlenkti tekstą iliustratoriuje
 # import the get_random_secret_key() function 
from django.core.management.utils import get_random_secret_key

secret_key = get_random_secret_key()
print(secret_key)

Kodą galite paleisti įvesdami šį savo CLI:

 python fileName.py 

Aukščiau pateikta komanda turėtų išspausdinti naują slaptą 50 simbolių raktą, kurį galite naudoti savo projekte.

Kaip apsaugoti savo slaptąjį raktą naudojant aplinkos kintamuosius

Tikriausiai nenorite keisti slaptojo rakto kiekvieną kartą, kai įsipareigojate „GitHub“. Veiksmingas būdas apsaugoti savo slaptąjį raktą yra saugoti jį aplinkos kintamajame. Aplinkos kintamieji yra reikšmės, kurias galite nustatyti už savo kodų bazės ribų, kurias programa vis tiek gali pasiekti vykdymo metu. Jie gali saugoti konfigūraciją, API raktus, duomenų bazės kredencialus ir kt.

Aplinkos kintamuosius galite saugoti faile, pavadintame .env, ir išskirti juos iš „git“ saugyklos. Tai galite padaryti sukurdami failą pavadinimu .gitignore savo projekte. .gitignore faile yra failų ir aplankų, kurių Git neseks, sąrašas.

Failų tipai ir katalogų struktūros skiriasi priklausomai nuo projekto, tačiau yra tinkamų numatytųjų nustatymų, kuriuos galite taikyti kiekvienai kalbai. .gitignore šablonų sąrašą galite rasti „GitHub“ „gitignore“ saugykla . Šie veiksmai parodo, kaip naudoti .gitignore failą su aplinkos kintamaisiais programoje Django.

1. Sukurkite .gitignore failą

Jūsų baziniame kataloge – jūsų vieta valdyti.py failas – sukurkite a .gitignore failą ir nukopijuokite jo turinį GitHub failas tuo susidomėjęs. Šis failas yra „Python“ projektų .gitignore pavyzdys, kuris neįtraukia įprastų failų, kurių nenorite turėti savo saugykloje.

Arba kurdami saugyklą „GitHub“ prie projekto galite pridėti .gitignore failą. Norėdami tai padaryti, spustelėkite Pridėti .gitignore parinktį, ieškokite Python ir pasirinkite ją.

  github python .gitignore šablono pridėjimas

2. Sukurkite .env failą

Baziniame kataloge sukurkite failą pavadinimu .env . Šiame faile bus saugomi visi aplinkos kintamieji. Nukopijuokite ir įklijuokite savo slaptąjį raktą į šį failą (pašalinkite aplink jį esančias kabutes ir tarpus). Štai pavyzdys:

 SECRET_KEY=x#)_v1dtrlqvc61*025t^u4*-2h^kq&fmaw-ifgkppjxpyhh1% 

Atidaryk .gitignore failą ir patvirtinkite, kad .env jame yra failo pavadinimas. Jei ne, galite jį pridėti eilutėje įrašydami atskirą failo pavadinimą:

 .env 

3. Įdiekite python-dotenv paketą

Atidarykite savo CLI ir įdiekite python-dotenv paketą kaip priklausomybę.

 pip install python-dotenv 

  python-dotenv paketo įdiegimas

4. Pakeiskite savo settings.py failą

Jūsų settings.py failą, importuokite šiuos paketus:

 import os 
from dotenv import load_dotenv

Tada įkelkite aplinkos kintamuosius iš savo .env failą į savo settings.py failą paskambinę load_dotenv() funkcija:

 load_dotenv() 

Galiausiai pakeiskite savo SECRET_KEY kintamasis su šia kodo eilute:

 SECRET_KEY = os.environ.get('SECRET_KEY') 

Galite paleisti kūrimo serverį, kad patikrintumėte, ar veikia aukščiau nurodyta konfigūracija. Jei taip, jūsų projektas turėtų vykti taip, kaip tikėjotės. Toliau pateikta komanda paleis jūsų kūrimo serverį.

„ipad“ neprisijungs prie kompiuterio
 python manage.py runserver 

Saugokite savo slaptąjį raktą naudodami aplinkos kintamuosius

Slapto rakto atskleidimas gali sukelti daug problemų jums, kaip kūrėjui. Gali būti, kad ne visada pavyks atkurti projektą po atakos, ypač gamybinėje aplinkoje.

Norėdami išvengti šių neigiamų šalutinių poveikių, visada saugokite savo slaptąjį raktą aplinkos kintamajame ir naudokite a .gitignore failą, kad jis nepatektų į jūsų git saugyklą.