2014-11-10 2 views
0

많은 인터넷 검색에도 불구하고 만족스러운 답변을 찾지 못했습니다. 나는 또한 web2py와 SQL Server를 처음 접했을 때 처음부터 잘못된 방식으로이 문제에 접근했으며 이미 설정 한 바깥에 더 나은 해결책이 있습니다. 어쨌든 :py2bc를 사용하여 Web2Py DAL의 MSSQL 데이터베이스에 연결, 숨겨진 사용자 이름/pw

내가 다른 하나 MSSQL 서버 연결에서 web2py 응용 프로그램을 이동하고,되는 주름 기관 이유로 내가 직접 내가 입수했습니다

등의 비밀번호를 포함, 새로운 연결 문자열을 ""해야한다는 이 외부 web2py 주위에 소유자가 실행시킬 수있는 .pyc 파일의 모든 세부 사항을 숨김으로써 모든 내용을 볼 수 없게합니다.

DATA_CONNECTION = imp.load_compiled('DATA_CONNECTION', 'N:\\location') 
cnxn    = DATA_CONNECTION.getMyConnection() #produces a pyodbc connection 

내 질문은, 내가 얻는 방법 web2py의 DAL 동의하는 것입니다 동일한 연결 문자열로 된 .pyc 파일에 숨겨진 모든 보호 된 정보를 입력하지 않고 'cnxn'?

내 네트워크 자격 증명을 user/pw로 사용하여 이전에 사용한 연결 문자열입니다.

db = DAL('mssql://DRIVER={SQL Server};SERVER= XXX-011;DATABASE=MyDB;TRUSTED_CONNECTION=yes;migrate_enabled = False') 

답변

0

web2py의 DAL은 연결 문자열이 아닌 pyodbc 연결 개체가 필요합니다 : 새로운 연결은 내가 볼 수없는 그 .pyc 파일에 명시 적으로 사용자 이름/PW 있습니다. 아마도 현재 사용하고있는 .pyc 파일을 만든 사람은 새로운 것을 만들어서 pyodbc 개체 대신 DAL 개체를 반환 할 수 있습니다.

반면에 .pyc 파일을 사용하면 많은 .pyc 파일을 디 컴파일 할 수있는 많은 도구가 있으므로 실제로 보안을 추가하지 않는다고 설득 할 수 있습니다. 게다가 pyodbc 객체를 가지고 나면 어쨌든 연결 문자열을 추출 할 수 있습니다. 연결 문자열을 모호하게 만드는 것보다 데이터베이스 액세스 및 사용 권한을 제어하는 ​​더 좋은 방법이 있습니다.

+0

감사합니다. 제안한 .pyc 파일에서 DAL 개체를 만들었습니다. .pyc 파일에 대한 보안 문제는 여전히 합법적이므로 좀 더 살펴 봐야 할 것입니다. –

+0

.pyc 파일에서 DAL 개체를 생성 한 후에는 연결 문자열을 읽으려고'db._uri '를 수행하면 보안 성이 향상됩니다. – Anthony