> php教程 > PHP视频 > 본문

접근보안에 대한 상세한 QA 설명

黄舟
풀어 주다: 2016-12-14 15:33:41
원래의
1546명이 탐색했습니다.

Q MDB의 경우 [시작] 옵션이 모두 False이며, 표지 양식으로 시작합니다. 동일한 작업 그룹의 사용자는 승인 없이 테이블을 열고 수정할 수 없지만, 다른 빈 데이터베이스를 생성하고 가져오거나 링크할 수 있습니다. 수정하려면 어떻게 해야 하나요? 저를 계몽해주세요!

A 먼저 MS Access Workgroup Administrator 프로그램을 사용하여 newSystem.mdw와 같은 자체 MDW 파일을 만든 다음 newAdmin과 같은 새 계정을 만들어야 합니다. 기본 계정은 AMDIN이며 다음과 같습니다. GUEST 계정을 선택한 다음 각 계정의 비밀번호를 설정하세요. 그런 다음 newAdmin 계정으로 로그인하여 데이터베이스를 생성하거나 개발을 위해 기존 데이터베이스의 테이블이나 양식을 가져옵니다. 데이터베이스의 보안을 설정합니다. newadmin 계정 외에도 모든 그룹과 사용자가 데이터베이스를 열 수 없도록 차단해야 합니다. 이렇게 하면 안전합니다. 이 경우 데이터베이스 열기는 새로 생성된 MDW 파일에만 연결할 수 있으며 newAdmin 계정을 사용하여 열 수 있습니다. 그러나 실제 응용 프로그램에서는 물론 newUser와 같은 소프트웨어를 실행하기 위한 계정도 만들어야 합니다(기본 "사용자" 계정을 사용하지 않는 것이 가장 좋으므로 SYSTEM과 연결되어 있습니다. MDW에 입력하면 됩니다, 비밀번호를 설정하더라도 새로운 SYSTEM.MDW가 연결될 수 있으므로 안전하지 않습니다.) 각 테이블에 대한 newUser 계정의 권한을 설정합니다. 읽기 및 쓰기는 가능하지만 디자인을 수정할 수는 없습니다. 즉, 양식을 실행하는 데 사용됩니다. 수정 가능한 모든 권한을 차단합니다. 이 경우 개발용과 운영용 계정이 2개가 있는데, 새로운 문제는 사용자에게 넘겨주는 경우 사용자가 newUser 계정의 비밀번호를 알아야 한다는 점이다. 이 경우 데이터는 안전하지 않다. , 따라서 간단한 예를 제공하려면 문장을 작성하고 데이터베이스를 실행하십시오. 예: strRunShell = "c:Program FilesMicrosoft OfficeOfficeMSACCESS.EXE /nostartup"

strRunShell = strRunShell & "/wrkgrp c:newSystem.mdw c :pinewood.mde /user newUser /PWD yourpassword"
RetVal = Shell(strRunShell, vbMaximizedFocus)
물론 이것은 단지 의미일 뿐, 여기에 다른 내용을 작성할 수도 있습니다. ACCESS가 설치되어 있는지, 경로가 맞는지, 등록되었는지 등을 확인하는 등의 설정을 합니다. (첨부: MDE 파일로 컴파일된 다른 데이터베이스를 이용하여도 위 효과를 얻을 수 있습니다)

Q 저도 사용자 보안 그룹을 사용해 보았으나 제가 말하는 보안은 주로 내부 인력을 위한 보안입니다. .Lin 같은 외부 전문가들은 보안에 대해 전혀 이야기하지 않습니다.
ACCESS에는 치명적인 결함이 있습니다(아직 사용법을 모를 수도 있습니다). 보안 성능은 이미 보안 메커니즘이 설정된 데이터베이스에서만 사용할 수 있습니다. 사용자가 만든 데이터베이스에만 쓸모가 있습니다. ACCESS에 로그인하여 새 *.MDB를 생성한 다음 링크 기능을 사용하여 백엔드 데이터베이스(또는 프런트엔드 데이터베이스)의 테이블을 연결해야 합니다. 데이터베이스는 백엔드 데이터베이스의 테이블에 연결되어 있으며 단순한 링크에 지나지 않습니다.) 테이블의 내용을 이해하는 한 마음대로 수정할 수 있습니다.
실제로 Microsoft는 보안 메커니즘을 현재 데이터베이스가 아닌 모든 데이터베이스에 적용할 수 있도록 ACCESS를 약간 수정했습니다. 우리의 보안 메커니즘은 불법에 대한 보호에 지나지 않으므로 일부 초보자에 대한 보호에 대해 걱정할 필요가 없습니다. 이러한 내부 사용자에 의한 수정은 단지 파괴일 뿐입니다.
따라서 도움이 될 수 있는 ACCESS 시스템 수준 보안 메커니즘이나 Office 개발자 에디션이 필요합니다

잘못, 잘못, 잘못됨 "사용자는 자신의 계정으로 ACCESS에 로그인하고 새 *.MDB를 생성한 다음 링크 기능을 사용하여 백엔드 데이터베이스의 모든 테이블을 연결하기만 하면 됩니다(또는 프런트엔드 데이터베이스(프런트엔드 데이터베이스 테이블은 백엔드 데이터베이스의 테이블에 연결되어 있으므로 다시 연결하기만 하면 됩니다.) 테이블의 내용을 이해하는 한 마음대로 수정할 수 있습니다. table."
이 문장은 틀렸어요! ACCESS의 보안이 제가 말한 것만큼 정말 좋다면, 제가 올린 내용은 공허한 이야기일 수도 있습니다. 내가 말하고 게시한 내용을 아직 실천하지 못할 수도 있습니다. 실제로는 그렇지 않을 것입니다. 데이터베이스를 생성하기 위해 새 시스템 파일과 연결되는 새로 생성된 시스템 파일(예: MDW 파일)을 생성했고, 이 데이터베이스에 대한 열기 권한은 다음 사용자에 의해서만 부여될 수 있기 때문입니다. NEWUSER.와 같이 내가 지정한 고정 사용자는 연결된 시스템 파일에 관계없이 새로 생성된 데이터베이스 연결을 사용할 수 없습니다. 그렇다면 ACCESS는 오래 전에 제거되어야 합니다.
믿어지지 않으시면 제가 데이터베이스를 만들어서 보내드려서 열어보실 수 있는지 확인해 드릴 수도 있습니다. 저는 1997년부터 개발을 위해 ACCESS를 사용하기 시작했습니다. 제가 완성한 다양한 데이터베이스를 반복적으로 테스트했습니다. 당신이 언급한 상황이 가능하다면, 제가 크래킹하고 싶은 다른 사람들이 개발한 수십 개의 데이터베이스가 축적되었을 것입니다. . . .

Q 아직도 이해가 안 되네요.
기사에서 언급한 사용자는 내부 운영자를 가리키는 말입니다. 저도 많은 테스트를 해봤습니다.
예: 보안 메커니즘을 갖춘 데이터베이스를 구축했고, MDW 파일의 경우 새 읽기 전용 작업 그룹과 일반 사용자(관리자 권한 없음)를 설정하고 시스템 사용자 그룹에 대한 권한을 설정하지 않은 다음 ACCESS를 종료하고 새 MDW 파일을 선택하고 로그인했습니다. 일반 사용자로서 새 파일을 만든 다음 보안 메커니즘을 사용하여 이전 데이터베이스를 가져와 연결할 수 있습니다.

A 실제로 내 게시물을 자세히 읽지 않았을 수도 있습니다. ACCESS 도움말에서 매우 자세히 설명되어 있습니다. 하지만 여러분이 완전히 이해할 수 있도록 바보들을 위한 단계를 나열하겠습니다. 사랑하는 형제여, 저도 바보들의 도움을 읽고 점차 똑똑해졌습니다.
1. 먼저 ACCESS 설치 디렉터리에 있는 WRKGADM.EXE 프로그램을 사용하여 자신만의 MDW 파일을 만듭니다. 그런 다음 연결하십시오.
2. ACCESS에 로그인 후 기본 사용자는 ADMIN입니다. 마음대로 MDB를 생성하고, ADMIN 사용자 비밀번호를 변경한 후, 향후 관리를 위해 PINEWOOD와 같은 새로운 계정을 생성합니다. 앞으로는 사용자들을 위해. (그룹을 생성할 필요는 없습니다.)
3. 다시 로그인하여 PINEWOOD로 로그인한 후 비밀번호를 변경합니다. 즉, 빈 비밀번호를 변경합니다. NEWUSER 계정에 대해서도 반복합니다.
4. PINEWOOD로 로그인하고 개발에 필요한 데이터베이스 MDB 소스 파일을 생성한 후 MYCODE 등의 이름을 지정하고 저장하여 보안을 설정합니다. 보안 설정이 어디에 있는지 알아야 합니다. 메뉴에 있습니다. MYCODE에 대한 모든 ADMIN 및 GUEST 권한을 차단합니다. 새 테이블, 새 모듈에 대한 권한 또는 데이터베이스에 대한 열기 권한 등 모든 권한이 제거됩니다. 그러면 이 데이터베이스에 있는 모든 그룹의 모든 권한도 차단됩니다. 놓칠 수 없습니다. 사용자 그룹이 해당 권한을 차단하지 않으면 해당 그룹에 속한 ADMIN 및 GUEST가 데이터베이스를 열 수 있습니다.
5. 그런 다음 데이터베이스에 대한 PINEWOOD의 권한을 설정합니다. 물론 모든 권한이 사용 가능해야 합니다. NEWUSER 권한을 설정합니다. 물론 모든 테이블, 쿼리 등에 대한 디자인 권한을 수정하는 것 외에도 읽기 및 쓰기 권한, 데이터베이스 열기 권한 및 실행 권한이 있어야 합니다. 간단히 말해서 이 계정은 사용자를 위한 계정입니다.
6. 그런 다음 개발, 테이블 양식 생성 등을 수행합니다. 이미 수행했으므로 가져오십시오. 그러나 현재 귀하의 데이터베이스는 안전하며 다른 사람들은 MYCODE로부터 아무것도 얻을 수 없습니다. 비밀번호를 모르는 한.
7. 개발 후에는 이 작업을 수행할지 여부는 물론 데이터베이스를 분리한 다음 백그라운드 MDB 데이터베이스도 동일하게 안전하게 만들어야 합니다. 그런 다음 프런트엔드 프로그램을 MDE 파일로 컴파일합니다.
8. EXE 파일을 만듭니다. 다른 게시물에서 말했듯이 NEWUSER 계정을 사용하여 데이터베이스의 EXE 파일을 엽니다. 이는 사용자가 데이터베이스를 사용하기 위해 이 EXE를 사용하는 것 외에는 다른 선택의 여지가 없도록 하기 위한 것입니다.
9. 그런 다음 MDB를 서버에 배치하고 MDE, MDW 및 EXE를 사용자에게 게시합니다. 물론, MDE와 MDB의 관계는 미리 설정되어 디버깅되어 있습니다. 프로그래밍에서 이를 어떻게 처리해야 하는지는 말할 필요도 없습니다.
10. 보안이 꼭 필요한 개발자에게는 아직 해야 할 일이 남아 있습니다. 내 다른 게시물을 참조하세요. "주의"는 몇 가지를 말했습니다. 그런 질문은 한번 사용하면 자연스럽게 쓰이겠지만, 사용하지 않은 질문은 여전히 ​​쓸모가 없습니다. 어떤 문제가 해결되어야 한다고 생각하시나요?

Q 맙소사? ! ! mdb & mdw & exe 3개 파일을 동시에 복사해야 하나요???...
VB exe는 쉽게 디컴파일이 가능하다는 점은 말할 것도 없고, 남들은 mdw 파일을 먼저 삭제한 후 열지 않을까요? mdb 파일인가요?
접근의 보안이 이것으로 제한된다면 그야말로 '완전한 보안'이라고 할 수 있습니다.
그리고 나에게 더 "안전한" 방법이 필요한지 물어보세요. 처음 두 번에 언급된 방법은 컴퓨터 지식이 조금 있는 사람이라면 누구나 해결할 수 있습니다.

A 파일 공유를 위해서는 서버는 MDB 데이터베이스만 설치하면 되고, 클라이언트는 EXE, MDW, MDE 파일을 설치해야 합니다.
참고:
1. MDB가 아닌 MDE 파일입니다. 데이터베이스는 백엔드에 배치해야 하며, MDE 파일은 컴파일되어 효율성이 높으며, 어떤 경우에도 소스 코드가 유출되지 않습니다. 비밀번호가 깨졌습니다.
2. 사용자가 MDW 파일을 삭제하면 데이터베이스에 전혀 액세스할 수 없습니다. MDW 파일을 사용하지 않고 MDB 파일에 액세스할 수 있다면 어떻게 보안에 대해 이야기할 수 있습니까?
3. EXE 파일에는 반드시 VB를 사용할 필요는 없습니다. VC, BC, DELPHI를 사용할 수 있습니다. 게다가 VB5 이상 버전에서는 디컴파일이 가능하다는 이야기도 듣지 못했으며, 해당 도구도 찾지 못했습니다.
4. 현재 ACCESS 데이터베이스의 사용자 수준 보안 비밀번호를 크랙하는 도구는 많지만 MDW 파일 사용자가 사용할 수 있으므로 MDW 파일을 크랙하더라도 MDB 소스를 얻을 수 없습니다. MDE 소스 프로그램 파일 MDB는 말할 것도 없고 전혀 릴리스되지 않았기 때문에 전혀 얻을 수 없습니다. 컴퓨터를 아무렇게나 사용하지 않는 이상 구할 수 있는 곳이 없습니다. 따라서 프로그램은 확실히 안전합니다. 데이터베이스 데이터의 보안은 비교적 안전하지만 여전히 충분합니다.

더 많은 관련 글은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿