나는 MySQL 서버에 의해 뒷받침되는 장고 (Django) 구동 사이트를 구축하고있다. 이 MySQL 서버는 웹 사이트가 아닌 추가 소스에서 액세스하여 테이블 데이터를 읽고 씁니다. 사용자가 로컬로 실행하여 데이터베이스에 연결하는 프로그램).Django를 MySQL 프록시 서버로 사용 하시겠습니까?
현재 로컬에서 실행되는 프로그램은 MySQL/C Connector 라이브러리를 사용하여 SQL Server에 직접 연결하고 쿼리를 실행합니다. 공개 된 최종 버전에서는 코드 나 구성 파일에있는 데이터베이스에 연결 문자열을 표시하므로 보안이 취약 해 보입니다.
내가 생각하는 또 다른 대안은 모든 검색어를 장고 웹 사이트 (사용자의 로그인과 비밀번호로 인증 됨)로 전송 한 다음 사이트가 사용자를 대신하여 위생 처리하고 쿼리를 실행하여 결과를 반환하는 것입니다.
여기에는 여러 가지 단점이 있습니다. 웹 서버는 모든 SQL 쿼리를 처리하여 훨씬 더 많은 부하를 받게 될 것이며 이는 내 호스트의 한계를 초과 할 수 있습니다. 또한, 나는 직렬화 및 파이썬에서 SQL 결과를 전송하고 C/C + +에서 클라이언트 측에 그들을 unserializing 몇 가지 방법을 알아낼 것입니다. 이것은 작성하고 유지 보수하는 데 알맞은 양의 사용자 정의 코드입니다.
사람들이 생각할 수있는이 접근 방식의 다른 단점은 무엇입니까?
이 소리가 합리적이라고 생각하니, 소리가 들리면 소리를들을 수 있습니다. 파이썬 또는 C 라이브러리와 같은 프록시 인터페이스를 개발할 수 있습니까?
나쁜 생각이 들리면 대안 솔루션 즉, 프록시 SQL 서버 로직의 이러한 유형을 전문으로하는 Python 라이브러리, SQL 연결 문자열을 암호화하는 방법 등 모든 제안을 통해 현재 솔루션을 안전하게 사용할 수 있습니다. ..?
마지막으로 유효한 문제입니까? 데이터베이스는 현재 사용자에 대해 매우 민감한 정보를 담고 있지 않습니다 (대부분의 민감한 부분은 다른 소스에서 재사용했을 수있는 이메일과 사이트 비밀번호 일 것입니다).하지만 안전하지 않은 경우 나중에 내 원인이 될 수 있습니다.
입력 해 주셔서 감사 드리며, 제 상황에서 어떻게 작동하는지 살펴 보겠습니다. – Alex