2012-06-01 3 views
1

이것에 대한 약간의 조언을 원합니다. 브라우저에서 PHP 소스 코드를 볼 수 있습니까? 나는 그렇지 않다고 생각하고있다. 하지만 내 연결 세부 정보를 확인하고 싶습니다. 예를 들면 다음과 같습니다.안전한 MYSQL 연결 세부 사항

include ("connection.php"); 
$con = mysql_connect("$host","$db_name","$db_user, $db_pass"); 

브라우저를 사용하는 모든 사용자는 전화를 걸거나 볼 수 없습니다.

.htaccess connection.php 파일이 ftp를 사용하여 파일에 액세스 할 수 없지만 include() 파일을 호출하는 모든 스크립트가 여전히 작동한다는 것을 의미합니까?

희망이 있습니다. 내가 확실히하려는 것은 데이터베이스 연결을위한 암호가 안전하다는 것입니다. 조언이 도움이 될 것입니다. (그들은 어떻게 든 FTP, SSH ... 통해 서버에 대한 액세스 권한을 획득하지 않는 한)

답변

5

여러 다른 사람의 사이에서 브라우저를 통해 당신에게 PHP 코드를 유출 할 수있는 방법이 있습니다 : 백업 파일을 만들기

  1. 잘못 구성된 서버 (그래서 PHP 파일을 구문 분석되지 않음)
  2. 은 확장을 추가하여 : 예 별로 PHP 파일로 얻을 수있는 방법을 http://example.com/../../../etc/passwd
  3. 을하지만, 정보를 얻을 수있는 또 다른 일반적인 방법은 SQL Injection 통해 :
  4. 는 또한 공격자가 수행하여 파일을 얻을 수있을 secretfile.php.bak. (난 당신이 mysql_*를 사용하는 참조 -> 사용을 중지하십시오) :이

고대 mysql_* 기능과 새로운 코드를 작성 중지하십시오. 그들은 더 이상 유지되지 않으며 공동체는 deprecation process으로 시작되었습니다. 대신 prepared statements에 대해 알아야하고 PDO 또는 MySQLi을 사용해야합니다. 결정할 수없는 경우 this article을 선택하는 것이 도움이됩니다. 배우려는 경우 here is a quite good PDO-related tutorial.

모든 PHP 파일을 문서 루트 외부에두고 문서 루트에 부트 스트랩 파일 만 유지하는 것이 좋습니다.

가능하면 로컬 호스트에서만 연결을 허용하도록 데이터베이스를 설정해야합니다.

+0

을 얻었으므로 루트 외부에 저장할 수 없습니다. 감가 상각 된 mysql_ 함수에 대한 정보를 주셔서 감사합니다. PDO 또는 mysqli를 조사합니다. – user1022772

0

아니, 아무도

+4

아파치가 올바르게 구성되어있는 한. 내 호스트 공급자가 –

1

NO PHP 코드를 볼 수 없습니다. 서버 구성에 문제가없는 한 브라우저에서 PHP (Server Side) 코드를 볼 수 없습니다.

& 누군가가 db username 사용자 이름 & 암호를 훔쳐 먹는 것에 대해 걱정하지 말고 브라우저의 "소스보기"에서. 그 일이되지 않은 것

1

내 충고는 모든 중요한 데이터가 포함 된 하나의 설정 파일을 만드는 것입니다. 이 파일이 서버 루트 외부에 있는지 확인하십시오.

0

PHP 코드를 보려면이 가능합니다. 그러나 어쨌든 응용 프로그램을 조작 할 수 있습니다.따라서 보안 수준을 두 배로 높이려면 공개 계층 구조 외부의 경로에서 연결 데이터가있는 파일을 포함 시키십시오. 예를 들면 다음과 같습니다.

/home/public_html/index.php <= your website 

http://yoururl.org gets to public_html => index.php 

/home/files/connectionData.php <= file to store your files