前言
「我不會 SQL ,我只會 SQL injection。」資安人剛接觸的時候會不會有時候有這種心情呢 XD
講一下 python Django 安全性,如果你的 debug 沒有關閉的話,你的 DB 的帳號還有 IP 位置都會跑出來,所以上線的網站都要把 debug 模式關掉哦!
Postgresql
- 安裝資料庫
sudo yum install gcc postgresql-server postgresql-devel postgresql-contrib
- 初始化PostgreSQL資料庫
sudo postgresql-setup initdb
- 開啟Postgresql伺服器
sudo systemctl start postgresql
- 修改資料庫改為可密碼驗證
vim /var/lib/pgsql/data/pg_hba.conf
- 原 :
- 改 :
sudo systemctl restart postgresql
- 創建資料庫及資料庫用戶
sudo su - postgres
- 進入Postgres
psql
- 資料庫指令
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
- 下載Postgresql
sudo /usr/local/bin/pip3 install psycopg2
sudo /usr/local/bin/pip3 install psycopg2-binary
- 修改Django專案中settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'myproject',
'USER': 'myprojectuser',
'PASSWORD': 'password',
'HOST': 'localhost',
'POST': '',
}
}
- 原 :
- 改 :