2015-01-03 10 views
0

데이터 저장을 위해 데이터베이스 연결을 사용하는 작은 도구를 릴리스하려고합니다. 문제는 다음과 같습니다. 사람들이 내 코드를 리버스 엔지니어링하여 데이터베이스에 액세스 할 수 없도록하려면 어떻게해야합니까? UsernamePassword?MYSQL의 C# 보안 연결 정보

자신이 사용했던 이전 프로젝트의 경우 connection-string을 내 앱의 전역 변수로 정의했습니다. 하지만 exe에서이 문자열을 가져 오는 데 몇 분 밖에 걸리지 않으므로 안전하지 않습니다.

코드를 난독 화하는 많은 방법을 취소 할 수 있습니다.

저는 코드를 제공하는 데 큰 팬이지만 게시해야 할 항목을 모르겠습니다. 이것은 이론에 대한 질문입니다. 코딩은 내가 스스로 돌볼 부분이다.
내가 서버에 두 번째 도구를 배치 할 수 있습니다 : 여기

내가 그렇게 많이 좋아 정말 안 날로부터 작은 생각이다. 실제 응용 프로그램은이 두 번째 도구에 연결되어 데이터를주고 두 번째 데이터는 결국 내 데이터베이스 자체에 연결됩니다. 이 방법은 연결 문자열이 아무도 그것을 잡을 수없는 두 번째 응용 프로그램 내에 저장됩니다.

+0

대부분의 사람들은 설정 파일에서 사용자 설정을 저장합니다 : 그냥 키워드 'WCF'

여기에 링크의를 찾고 자신의 모든 동영상을 검색 할 수 있습니다. 때로는 사용자마다 다릅니다. 때로는 기계마다 다릅니다. 이러한 설정에 중요한 데이터가 포함되어 있으면 값이 암호화됩니다. –

+1

예, 전에 읽었습니다. 그러나 암호화 된 문자열을 사용하려면 암호를 해독해야합니다. 이 방법은 "해독하는 방법"도 내 애플 안에 저장됩니다. 다시 그것을 통해 얻을 수있는 방법은 당신이 생각 안해? 적어도 100-200 명의 사람들에게이 도구를 널리 알리고 싶습니다. 그래서 위험이 있습니다. – C4u

+3

아이디어는 웹 서비스로 구현 될 수 있습니다.데이터베이스에 외부 연결을 허용하지 않으려 고합니다. – CodeCaster

답변

1

사실 중요한 정보는 클라이언트 컴퓨터에 저장하면 database에 대한 공격에 매우 취약합니다. 살펴볼 수있는 제안은 응용 프로그램에 대한 3 계층 아키텍처 모델입니다 (http://en.wikipedia.org/wiki/Multitier_architecture#Three-tier_architecture). 3 계층 아키텍처에서는 프레젠테이션 계층 (응용 프로그램), 논리 계층 (이 계층은 모든 클라이언트가 데이터베이스에 액세스 할 수있는 중심점이 될 것입니다.) 및 데이터베이스 계층 (서버 데이터베이스가있는 곳). 이 아키텍처를 사용하면 저장되고 검색되는 모든 데이터가 단일 소스 및 높은 수준의 보안에서 제공되는지 확인할 수 있습니다.

프로그래머는 자신의 소켓 서버를 만들거나 네트워크 프로그래밍을 발전시켜 이와 같은 솔루션을 개발해야했지만 Microsoft는 (WCF)이라는 도구를 개발했습니다. 자신의 소켓 서버를 코딩 할 때의 어려움과 함께 자신 만의 구현을 개발하는 데 집중할 수 있습니다. 하지만 WCF은 기본적으로 안전하지만 해커로부터 제품을 강력하게 만드는 방법을 연구하는 것은 변명의 여지가 없습니다 (어떤 프로토콜을 사용할 것인지, 어떤 보안 측정 값을 사용할 것인지 (전송과 메시지) 등), 잠재적 인 바이러스가 민감한 정보를 발견하지 못하도록 클라이언트 측에서 데이터를 암호화하는 등). 그 말을하면, WCF은 고도로 세련된 서비스이며, 실제로 뭔가를 얻고 실행하기 쉽습니다. https://www.youtube.com/playlist?list=PLhq7kqloVlM-bI9W_7iDZhObAeyrFt1y_

편집이 : 비디오의 재생 목록이 사라 졌어요하지만 동영상 자체가 아직 거기

WCF에 초보자를위한 좋은 비디오 자습서는 여기에서 찾을 수 있습니다. https://www.youtube.com/user/JesseDietrichson/featured

+0

노력해 주셔서 감사합니다. Upvoted this. 자습서를 확인하고 마킹이나 코멘트를 위해 돌아올 것입니다. – C4u

+1

그들은 길다. 그는 때로는 더듬 거린다. 그러나 그것을 고수하라. 그는 잘 설명한다. – Hayden

+0

@Hayden 더 이상 유튜브 링크를 사용할 수 없습니다. 확인해 주시겠습니까? – nabulke