2012-09-14 6 views
2

제 질문은 두 부분으로되어 있습니다. 첫 번째는 나에게 가장 중요합니다.MySQL 계정을 보호하고 여러 계정을 관리하는 가장 좋은 방법은 무엇입니까?

전 테이블의 생성과 삭제뿐만 아니라 행의 삽입과 제거가 일상적으로 필요한 웹 사이트를 개발 중입니다. 그러나 MySQL에 단 하나의 계정이 있다면 필자는 데이터베이스에 대한 높은 수준의 액세스 권한을 제공합니다. 그렇기 때문에 현재 진행중인 작업에 따라 사용자 권한을 최소한으로 유지하는 것이 좋습니다. 예를 들어, 하나의 액션에 행 삽입 만 있으면 하나의 계정이 생깁니다. 나는 여러 계정의 관리에 대해 궁금해합니다.

지금 당장 PHP에서 데이터베이스 연결 클래스를 만들고 지정된 계정의 사용자 이름과 암호가 포함 된 주 클래스 확장을 만들 계획입니다.

이것은 두 번째 질문입니다.

이 사이트의 토론과 기본 계정을 만들거나 문서 루트 외부에 파일을 배치하는 방법을 제안하는 내용을 읽었습니다. 분명히 여러 계정으로 인해 기본값을 만들 수 없습니다.

기본적으로 올바르게 적용할까요?

누구나이 분야에서 더 많은 경험을 갖고 있다면 의견을 보내 주시면 감사하겠습니다.

+0

나는 모든 작업에 대해 하나의 계정을 가지고 있지만, mysql 계정 설정은 이러한 종류의 사용자 권한 문제를 처리하는 곳이 아닙니다. 두 개 이상의 db 로그인 자격 증명 집합을 사용하는 제 3 자 스크립트에 대해 잘 모릅니다. –

+0

정말요? 특정 계정에 SQL 코드로 권한을 부여하는 몇 가지 예를 살펴 보았습니다. – Mlagma

+0

깔끔하고 이름을 확인해주세요. 내가 본 적이없는 CMS 나 전자 상거래 앱은 없지만 항상 첫 번째가 있습니다. –

답변

0

스크립트가 연결되도록 데이터베이스 암호가 서버의 PHP 파일에서 일반 텍스트로 제공됩니다. 페이지에 오류가없는 한 웹 요청을 통해 PHP 파일의 소스를 볼 수 없으므로 서버에 로그인하고 소스 파일을 보는 모든 방법이 강력한 암호를 사용하는지 확인하십시오. 강력한 보안을 위해 PHP 파일의 파일 사용 권한을 소유자와 Apache 프로세스에서만 읽을 수 있는지 확인하십시오.

모든 사용자 권한과 100 자 길이의 임의 문자로 된 SQL 서버에 하나의 사용자 계정이있는 경우이 암호는 평생 동안 무차별 적으로 실행되지 않으며 그것을 입력하십시오. 그것은 PHP 스크립트의 한 위치에 있고, 소스 파일을 보호하는 한 단 하나의 계정으로도 합리적인 보안을 유지할 수 있습니다.

+0

그게 내가 생각하고 있었던거야. 내가 MySQL 암호의 보안에 관해 묻는 한 가지 이유는 내가 최근에 오히려 높은 트래픽 사이트가 내가 필요로하는 모든 암호를 가진 PHP 파일의 대부분을 내게 덤프하는 것을 보았 기 때문이다. 또한 개인적으로는 테이블 전체를 삭제할 수있는 계정이 있으면 안심할 수 없습니다. – Mlagma

+2

PDO 개체를 사용하여 입력을 살균 한 상태로 유지하고 데이터베이스 암호를 변수에 저장하지 마십시오. 데이터베이스 커넥터에서 직접 사용하고 연결을 영구화하므로 가변 메모리 공간에 임의의 암호가 걸려 들지 않습니다. – MidnightLightning

+0

지금 당장 PDO를 사용하고 있습니다. 그러나 변수로 저장하지 않으려 고 생각했습니다. 좋은 생각입니다. – Mlagma

관련 문제