Paano Gumawa ng Bagong Lihim na Susi sa Django

Paano Gumawa ng Bagong Lihim na Susi sa Django
Ang mga mambabasang tulad mo ay tumutulong sa pagsuporta sa MUO. Kapag bumili ka gamit ang mga link sa aming site, maaari kaming makakuha ng isang affiliate na komisyon. Magbasa pa.

Sa Django, ang isang lihim na susi ay gumaganap ng isang mahalagang papel sa pagpapahusay ng seguridad ng iyong aplikasyon. Nakakatulong ito na pamahalaan ang mga session ng user, nagpoprotekta laban sa mga pag-atake ng Cross-Site Request Forgery (CSRF), at pinoprotektahan ang iyong data sa pamamagitan ng pagbuo at pag-verify ng mga cryptographic signature bukod sa iba pang mga bagay.





MAKEUSEOF VIDEO OF THE DAY MAG-SCROLL PARA MAGPATULOY SA NILALAMAN

Dapat mong panatilihing secure ang lihim na susi ng iyong proyekto sa lahat ng oras. Ang paglalantad nito ay mag-iiwan sa iyong application na madaling kapitan ng mga malisyosong pag-atake ng mga hacker, na nakompromiso ang seguridad nito. Kung makompromiso ang iyong sikretong susi, dapat mong malaman kung paano bumuo ng bago upang mabawasan ang negatibong epekto sa iyong aplikasyon.





kung paano makita ang mga lumang text message

Paano Malalantad ang Iyong Django Secret Key?

Maaari mong hindi sinasadyang gawing pampubliko ang iyong Django secret key kung hindi mo sinasadyang ibigay ito sa git o isang katulad na source code repository. Ang pagkakamaling ito ay karaniwan sa mga bagong programmer na nananatili pa rin pag-aaral tungkol sa GitHub . Kapag nangyari ito, maaari mong gawin ang isa sa mga sumusunod:





  1. Tanggalin ang commit.
  2. Palitan nang buo ang sikretong susi.

Ang pagtanggal sa commit ay maaaring hindi ang pinakamahusay na opsyon dahil ang kasaysayan ng commit ay maaari pa ring ma-access sa pamamagitan ng iba't ibang paraan, tulad ng mga naka-cache na kopya sa GitHub o iba pang mga distributed system. Ang pinakaligtas na bagay na gagawin sa ganoong sitwasyon ay ang ipagpalagay na ang iyong sikretong susi ay nakompromiso na.

Dapat kang bumuo ng isang bagong lihim na susi upang palitan ang nakompromiso at protektahan ito sa pamamagitan ng paggamit ng mga variable ng kapaligiran. Sa anumang kaso, dapat mong matutunan kung paano bumuo ng isang bagong lihim na key sa Django upang maprotektahan ang iyong app mula sa mga bagay tulad ng Pag-atake ng Cross-Site Request Forgery (CSRF). .



Paano Gumawa ng Bagong Lihim na Susi sa Django

Nagbibigay ang Django ng function na tinatawag get_random_secret_key() na tumutulong sa iyong bumuo ng isang bagong lihim na susi sa tuwing tatawagin mo ito. Ang get_random_secret_key() function ay isang utility function na gumagamit ng mga sikreto module sa Python upang makabuo ng secure na sikretong key na may 50 character.

Para makabuo ng bagong secret key gamit ang get_random_secret_key() function, buksan ang iyong Command Line Interface (CLI) at i-type ang command na ito:





 python manage.py shell -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())" 

Ini-import ng command sa itaas ang get_random_secret_key() function mula sa django.core.management.utils at pagkatapos ay mag-print ng bagong lihim na key na may 50 character, na magagamit mo sa iyong proyekto. Bago patakbuhin ang command sa itaas, tiyaking ikaw ay nasa root directory ng iyong proyekto, ibig sabihin, ang parehong lokasyon bilang ang pamahalaan.py file sa iyong proyekto.

Maaari mong patakbuhin ang parehong command sa labas ng iyong CLI sa pamamagitan ng paggawa ng Python file at pag-paste ng code snippet na ito dito:





 # 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)

Maaari mong patakbuhin ang code sa pamamagitan ng pag-type nito sa iyong CLI:

 python fileName.py 

Ang utos sa itaas ay dapat mag-print ng bagong lihim na key na may 50 character na magagamit mo sa iyong proyekto.

Paano Protektahan ang Iyong Lihim na Susi Gamit ang Mga Variable sa Kapaligiran

Malamang na ayaw mong baguhin ang iyong sikretong key sa tuwing gagawa ka ng GitHub commit. Ang isang mahusay na paraan upang mapanatiling ligtas ang iyong sikretong susi ay sa pamamagitan ng pag-imbak nito sa isang variable ng kapaligiran. Ang mga variable ng kapaligiran ay mga value na maaari mong itakda sa labas ng iyong codebase, na maa-access pa rin ng iyong program sa panahon ng runtime. Maaari silang mag-imbak ng configuration, mga API key, mga kredensyal sa database, atbp.

Maaari mong iimbak ang iyong mga variable sa kapaligiran sa isang file na pinangalanang .env at ibukod ang mga ito sa iyong git repository. Magagawa mo ito sa pamamagitan ng paggawa ng file na tinatawag .gitignore sa iyong proyekto. Ang .gitignore file ay naglalaman ng isang listahan ng mga file at folder na hindi susubaybayan ng Git.

Ang mga uri ng file at mga istruktura ng direktoryo ay nag-iiba-iba sa bawat proyekto, ngunit may mga makabuluhang default na maaari mong ilapat para sa bawat wika. Makakahanap ka ng listahan ng mga .gitignore na template sa Ang gitignore repository ng GitHub . Ipinapakita sa iyo ng mga sumusunod na hakbang kung paano gamitin ang .gitignore file na may mga variable ng kapaligiran sa Django.

1. Gumawa ng .gitignore File

Sa iyong base directory—ang lokasyon ng iyong pamahalaan.py file—lumikha ng a .gitignore file at kopyahin ang mga nilalaman nito GitHub file sa loob nito. Ang file na iyon ay isang sample na .gitignore para sa mga proyekto ng Python na hindi kasama ang mga karaniwang file na hindi mo gusto sa iyong repositoryo.

kung paano magdagdag ng mga nes game sa snes classic

Bilang kahalili, maaari kang magdagdag ng .gitignore file sa iyong proyekto habang gumagawa ng repository sa GitHub. Upang gawin iyon, mag-click sa Magdagdag ng .gitignore opsyon, hanapin ang Python, at piliin ito.

  pagdaragdag ng template ng python .gitignore sa github

2. Gumawa ng .env File

Sa iyong base na direktoryo, lumikha ng isang file na tinatawag na .env . Iimbak ng file na ito ang lahat ng iyong environment variable. Kopyahin at i-paste ang iyong sikretong key sa file na ito (alisin ang mga quote at puwang sa paligid nito). Narito ang isang halimbawa:

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

Buksan ang .gitignore file at kumpirmahin na ang .env pangalan ng file ay nasa loob nito. Kung hindi, maaari mo itong idagdag sa pamamagitan ng pagsulat ng sarili nitong pangalan ng file sa isang linya:

 .env 

3. I-install ang python-dotenv Package

Buksan ang iyong CLI, at i-install ang python-dotenv package bilang dependency.

kung paano suriin ang dms sa instagram sa computer
 pip install python-dotenv 

  pag-install ng python-dotenv package

4. Baguhin ang Iyong settings.py File

Sa iyong settings.py file, i-import ang mga sumusunod na pakete:

 import os 
from dotenv import load_dotenv

Susunod, i-load ang mga variable ng kapaligiran mula sa iyong .env file sa iyong settings.py file sa pamamagitan ng pagtawag sa load_dotenv() function:

 load_dotenv() 

Sa wakas, palitan mo ang iyong SECRET_KEY variable na may ganitong linya ng code:

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

Maaari mong patakbuhin ang iyong development server upang kumpirmahin na gumagana ang configuration sa itaas. Kung mangyayari ito, dapat tumakbo ang iyong proyekto gaya ng iyong inaasahan. Ang command sa ibaba ay magsisimula sa iyong development server.

 python manage.py runserver 

Panatilihing Ligtas ang Iyong Lihim na Susi Gamit ang Mga Variable sa Kapaligiran

Ang paglantad sa iyong sikretong key ay maaaring magdulot ng maraming problema para sa iyo bilang isang developer. Maaaring hindi mo palaging mabawi ang iyong proyekto mula sa isang pag-atake, lalo na sa isang kapaligiran ng produksyon.

Upang maiwasan ang mga negatibong epektong ito, palaging iimbak ang iyong sikretong susi sa isang variable ng kapaligiran at gumamit ng a .gitignore file upang itago ito sa iyong git repository.