반응형
Python3, MariaDB, OpenVPN 암호 확인 실패
os.eviron['username']은 OpenVPN에서 전송되지만 디버깅을 위해 데이터베이스에서 사용자로 "test"로 변경했습니다.os.eviron['password']은 OpenVPN에서 전송되지만 디버깅을 위해 작업 암호 "password"로 변경했고 모든 것이 설계대로 작동했습니다.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import mysql.connector as database
import sys
import hashlib
from config import DB_NAME, DB_ADMIN, DB_PASSWORD, DB_HOST, HASH_ALGORITHM, HASH_SALTY
connection = database.connect(
user=DB_ADMIN,
password=DB_PASSWORD,
host=DB_HOST,
database=DB_NAME
)
cursor = connection.cursor()
hash_func = getattr(hashlib, HASH_ALGORITHM)
salty = hash_func(HASH_SALTY.encode("utf-8")).hexdigest()
ovpnuser = (os.environ['username'])
ovpnuser = "SELECT * FROM users WHERE usernames = '" + ovpnuser + "';"
cursor.execute(ovpnuser)
result = cursor.fetchone()
if result is None:
sys.exit(1)
id, usernames, passwords = result
passw = (os.environ['password'] + salty) #Salt this mofo
if hash_func(passw.encode("utf-8")).hexdigest() != passwords:
sys.exit(1)
sys.exit(0)
지금 보시는 것처럼 OpenVPN을 사용하여 이 플러그인을 호출하므로 sys.exit(1) 인증에 실패했습니다.디버그를 시도했지만 이 플러그인에 대한 연결이나 호출에서 오류와 인쇄가 불가능합니다.파이썬 코드의 로그 파일에 쓰기 위해 에코까지 추가했지만 작동하지 않았습니다.
무슨 생각 있어요?
언급URL : https://stackoverflow.com/questions/67100221/python3-mariadb-openvpn-password-check-fails
반응형
'programing' 카테고리의 다른 글
| C에 스왑 기능이 내장되어 있습니까? (0) | 2023.09.06 |
|---|---|
| contentEditable에 contentEditable에 contentEditable에 (0) | 2023.09.06 |
| DBever Community Edition에서 Excel 내보내기 옵션은 어디에 있습니까? (0) | 2023.09.06 |
| 도커에서 엔드포인트로 REST 호출하기 (0) | 2023.09.06 |
| 텍스트로 옵션을 선택하려면 어떤 선택기가 필요합니까? (0) | 2023.09.06 |