2012-08-24 2 views
0

다른 서버에서 wp-config 데이터베이스, 사용자 및 패스를 가져 오는 기능이 필요합니다.wp-config.php 외부 액세스

나는 이것을 발견하지만, 같은 cpanel 계정에서만 작동합니다. 이 값을 가져올 방법이 있습니까?

$f = "/home/".$ac["user"]."/www/wp/wp-config.php"; 
     if(file_exists($f)) { 
      $c = file_get_contents($f); 

      preg_match('/define.*DB_NAME.*\'(.*)\'/', $c, $m); 
      $dbname = $m[1]; 

      preg_match('/define.*DB_USER.*\'(.*)\'/', $c, $m); 
      $dbuser = $m[1]; 

      preg_match('/define.*DB_PASSWORD.*\'(.*)\'/', $c, $m); 
      $dbpass = $m[1]; 

      preg_match('/define.*DB_HOST.*\'(.*)\'/', $c, $m); 
      $dbhost = $m[1]; 
+1

자신의 서버 구조 외부에서 wp-config.php 파일의 정보를 구문 분석 할 방법이 없어야합니다. 이는 엄청난 보안 문제입니다. 그것이 사실이라면, 나는 모든 WordPress 사이트에 대한 로그인 세부 정보를 얻을 수 있습니다! – Marty

답변

0

wp-config는 PHP로 작성되었습니다. PHP는 서버 측 언어이므로 스크립트 자체에서 정보를 가져올 수 없으며 결과 만 출력 할 수 있습니다. 뿐만 아니라 당신이 누군가의 Wordpress 임명에 저것을 할 수 있던 경우에 중요한 안전 결함 이을 것입니다. 정보가 필요하다면 FTP를 통해 파일 자체에 액세스하는 것이 유일한 방법입니다.

+0

'PHP는 서버 측 언어입니다. 즉, 스크립트 자체에서 정보를 가져올 수 없으며 결과 만 출력합니다. '. 당신은 잘못. 파일 시스템의 모든 파일뿐만 아니라 PHP 파일에서도 정보를 얻을 수 있습니다. 예를 들어,''? php $ i = 'hello';?>'라는 줄의 PHP 파일'test.php'를 만듭니다. 그 후 나는'"'. – Mikhail

+0

@Mikhail, 맞습니다, 당신은 할 수 있습니다 ... 자신의 서버 인프라 내에서. 그것이 PHP가 설계하거나 사용하는 것이 아니며 OP가 요구 한 것도 아닙니다. OP는 REMOTE 파일에서 소스를 가져 오려고합니다. 서버 외부의 파일에 예제 코드를 실행하면 소스가 아닌 스크립트 출력 만 출력됩니다. 서버가 부적절하게 구성되어 있지 않으면 OP가 요구하는 것은 보안상의 악몽처럼 될 수 없습니다. – Badams

+0

오케이, 알겠습니다. 덕분에 – Mikhail