SqlConnection () 및 연결 문자열을 사용하여 데이터베이스에 연결하고 있습니까?

c# dapper sqlconnection

문제

내가 dapper ORM과 함께 데이터베이스에 연결하는 다음 코드를 사용하고 있습니다 :

using (IDbConnection db = new SqlConnection(ConnectionString()))
{
return db.Query<object>(Sql).ToList();
}

연결 문자열에는 데이터베이스 이름과 로그인 정보가 들어 있습니다. 해당 정보가 다른 사람에게 표시 될 수 있다면 데이터베이스 서버에 연결하는 동안 궁금합니다.

전문가 답변

전송 중일 경우 : SQL Server가 암호화 된 연결을 사용하도록 할 수 있습니다 - https://technet.microsoft.com/en-us/library/ms189067(v=sql.105).aspx

인 프로세스 (in-process)를 의미하는 경우 키 부분은 기본적으로 제거되므로 SqlConnection 인스턴스로 다른 코드에서도 쉽게 사용할 수 있습니다. 이것은 SqlConnection 의 connection-string에있는 "Persist Security Info"매개 변수와 관련이 있으며 기본값은 false입니다. 기본적으로 .ConnectionString 속성은 일단 제공된 자격 증명을 노출하지 않습니다. 그 string 은 어떤 시점에서 여전히 메모리에 존재할 것이므로 프로세스 및 메모리 분석 도구에 대한 원시 액세스 권한을 가진 사람은 여전히 ​​그 string 을 얻을 수 있습니다. https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring(v=vs.110).aspx를 참조 하십시오.

그러나 SSPI를 통해 Windows 인증을 사용할 수도 있습니다. 그러면 app-domain의 실행중인 사용자 ID 정보를 사용하여 연결합니다. 위와 같은 링크이지만 "통합 보안"연결 문자열 매개 변수를 참조하십시오.


인기 답변

로컬 컴퓨터 : 예, 정보에 액세스 할 수 있습니다.

네트워크를 통한 DB 연결 : DB에 따라 SQL Server는 SSL을 지원하지만 사용하지 않으면 트래픽에 정보가 노출됩니다



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.