2011-02-05 5 views
0

그물에서 찾은 모든 것은 데이터베이스에 연결하기 위해 데이터베이스 사용자와 암호를 제공하도록 알려줍니다.PHP에서 MySQL 데이터베이스에 연결

평소처럼 편집증 적이기 때문에 PHP 소스를 가진 사람이라면 누구나 데이터베이스에 로그인하여 데이터를 망칠 수 있기 때문에 나는 이것을 좋아하지 않습니다. 이것이 데이터베이스에 액세스하는 유일한 방법입니까?

컨텍스트 : PHP가 출력 될 것 인터프리터 만 HTML로 해석되기 때문에 http://www.cyberciti.biz/tips/facebook-source-code.html

+0

보안에 대한 필요성을 인식하고 있다면 절대 잊지 마십시오. : o) –

답변

1

, 당신은 (당신이 적절한 설정했는지 짐작 PHP 소스를 잡아 수있는 방법이 없을 것 같은 두려워 할 필요가 PHP 소스를 다운로드 할 수 없도록 조치합니다.

외부에서 MySQL 서버에 대한 모든 트래픽을 차단합니다. localhost로만 사용하도록 허용하십시오.

+0

그리고 FTP를 통해 액세스 할 수있는 파일을 보호하십시오. – mauris

3

예, 유일한 방법입니다. 또한 편집증 환자로서 로그인 및 암호에 대한 지식은 충분하지 않지만이 자격 증명으로 로그인 할 수있는 올바른 호스트에서 로그인해야한다는 것을 알아야합니다.

또한 편집증 환자로서 코드를 감염시키는 것을 두려워하지 않고 해커가 로그인 및 암호 없이도 데이터를 도용 할 수 있도록 두려워하지 않는 이유는 무엇입니까? 이 경우 편집증 환자는 전혀 프로그램하지 않는 것이 좋습니다.

0

당신은 어떻게 든 연결 정보를 제공해야 php.ini 파일에서이를 지정,하지만 당신은 제한된 권한을 가지고 당신의 MySQL 사용자를 설정하여 위험을 완화 할 수 있습니다 가능한 한. 따라서 필요한 경우에만 읽기/삽입 액세스 권한을 부여하고 127.0.0.1의 연결 만 허용하도록 사용자 호스트를 설정할 수 있습니다.

http://www.zend.com/en/products/guard/과 같은 상업용 난독 화 제품도 있습니다. 문자열 암호화가 포함되어 있는지 여부는 확실하지 않습니다.

1

이것이 유일한 방법은 아니지만 (99.999 %와 같은) 대부분의 방식에서 웹 프로그래머의 100 %에게 말할 수 있습니다.

이것을 고려하십시오 : 비밀번호가 소스 어딘가에 하드 코딩 된 경우 왜 귀찮을까요? 계정을 암호없이 만들고 웹 서버에 대한 액세스를 제한하지 않으시겠습니까? 어떤 사람들은 "오 nooeses !! 그렇게하지 마!"라고 말할지도 모릅니다. 하지만 다시 묻습니다. 차이점은 무엇입니까? 어쨌든 거기에없는 어떤 보안 구멍이 열렸습니까?

실제 보안 문제는 실제로 SQL 주입으로부터 자신을 보호합니다.

1)은 사용자가 어떻게해야되지 뭔가를 악용 할 수있는 코드의 결함, 또는

2) 그들은 당신의 DB 서버를 속일 수 있습니다 경우 그 넓은 개방 계정은 취약합니다 SQL 주입을 통해 코드를 실행합니다.

그래서 SQL 인젝션은 여러분을 보호 할 큰 문제입니다.

2 차 보호가 있습니다. 예를 들어 대부분의 사용자는 사용자가 포함 된 "사용자"테이블과 사용자에게 암호를 전자 메일로 보낼 경우 필요한 일반 텍스트 암호 (불행히도 대부분의 경우)에 대해 편집증을 사용합니다.

SQL 인젝션 보호를 지나치거나 사용자가 할 수 없다고 생각한 프로그램을 실행하기 위해이 표를 두 번째로 보호 할 수 있습니다. 그것을 전혀 보거나 그것에 쓰십시오. 그런 다음 두 개의 저장 프로 시저 "addUser (username, password)"및 "checkPassword (username, password)"를 작성합니다. 이것은보다 민감한 데이터 주변에 여러 수준의 보안이있는 "심층 보안"의 예입니다.

관련 문제