iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
1
Security

不專業infra甘苦談系列 第 16

Day-16 Postgresql與Django的距離

前言

「我不會 SQL ,我只會 SQL injection。」資安人剛接觸的時候會不會有時候有這種心情呢 XD
講一下 python Django 安全性,如果你的 debug 沒有關閉的話,你的 DB 的帳號還有 IP 位置都會跑出來,所以上線的網站都要把 debug 模式關掉哦!

Postgresql

  1. 安裝資料庫
sudo yum install gcc postgresql-server postgresql-devel postgresql-contrib
  1. 初始化PostgreSQL資料庫
sudo postgresql-setup initdb
  1. 開啟Postgresql伺服器
sudo systemctl start postgresql
  1. 修改資料庫改為可密碼驗證
vim /var/lib/pgsql/data/pg_hba.conf
  • 原 :
  • 改 :
sudo systemctl restart postgresql
  1. 創建資料庫及資料庫用戶
sudo su - postgres
  1. 進入Postgres
psql
  1. 資料庫指令
CREATE DATABASE myproject;
CREATE USER myprojectuser WITH PASSWORD 'password';
ALTER ROLE myprojectuser SET client_encoding TO 'utf8';
ALTER ROLE myprojectuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE myprojectuser SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser;
\q
exit

Postgresql 串接 Django

  1. 下載Postgresql
sudo /usr/local/bin/pip3 install psycopg2
sudo /usr/local/bin/pip3 install psycopg2-binary
  1. 修改Django專案中settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'myproject',
        'USER': 'myprojectuser',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'POST': '',
    }
}
  • 原 :
  • 改 :

上一篇
Day-15 Django 以WSGI串接Apache
下一篇
Day-17 Cisco 交換器設定檔
系列文
不專業infra甘苦談30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言