5.9 일자 버젼에서 db접속 관련 오류 수정요망합니다. 정보
버그 5.9 일자 버젼에서 db접속 관련 오류 수정요망합니다.본문
common.php 의 83라인
$connect_db = sql_connect($mysql_host, $mysql_user, $mysql_pass);
dbconfig.php 의 사용자 패스워드 라인
$mysql_password = "xxxxxx";
보시면 db 사용자 패스워드 함수가 다릅니다.
갑자기 접속이 안되서 놀랐네요..ㅡㅡ;
또한 아래 코드도 주석처리나 수정 요망합니다.
//if (!preg_match('/^'.str_replace('/', '\/', dirname(__FILE__)).'/', $_SERVER['SCRIPT_FILENAME'])) die('정상적인 접근이 아님.');
//if ($dbconfig_file != str_replace($dirname, '', __FILE__)) die('정상적인 접근이 아님');
정상 경로를 찾지 못할수도 있습니다.
$connect_db = sql_connect($mysql_host, $mysql_user, $mysql_pass);
dbconfig.php 의 사용자 패스워드 라인
$mysql_password = "xxxxxx";
보시면 db 사용자 패스워드 함수가 다릅니다.
갑자기 접속이 안되서 놀랐네요..ㅡㅡ;
또한 아래 코드도 주석처리나 수정 요망합니다.
//if (!preg_match('/^'.str_replace('/', '\/', dirname(__FILE__)).'/', $_SERVER['SCRIPT_FILENAME'])) die('정상적인 접근이 아님.');
//if ($dbconfig_file != str_replace($dirname, '', __FILE__)) die('정상적인 접근이 아님');
정상 경로를 찾지 못할수도 있습니다.
댓글 전체
우선 그나마 좋은 방법으론 엔코딩또는 바이너리인듯싶습니다.
해당 php 문법에서 basic 또는 md5문법을 이용해서 암호파일을 집어넣고 그것을
다시 복호화해서 DB커넥션을 하면어떨지..
물론 100% 완전한것은 웹상에선 없습니다.
다만 조금더 해킹의 확률을 줄이는데 있다고 봅니다.
오픈 소스의 코드를 분석해서 바이너리 또는 엔코딩 파일까지 뒤집으려고 하는의도는 막을수없습니다만,
최소한 해킹하는데 걸리는 시간은 늘려줄수있을꺼라 생각되고,
스크립키드로부터는 보호 할 수 있을것 같습니다. (평문일경우, 최소 파일을 읽는순간 정보노출이 됩니다)
제가 말한게 언제나 최선은 아닙니다 ㅠㅠ;
해당 php 문법에서 basic 또는 md5문법을 이용해서 암호파일을 집어넣고 그것을
다시 복호화해서 DB커넥션을 하면어떨지..
물론 100% 완전한것은 웹상에선 없습니다.
다만 조금더 해킹의 확률을 줄이는데 있다고 봅니다.
오픈 소스의 코드를 분석해서 바이너리 또는 엔코딩 파일까지 뒤집으려고 하는의도는 막을수없습니다만,
최소한 해킹하는데 걸리는 시간은 늘려줄수있을꺼라 생각되고,
스크립키드로부터는 보호 할 수 있을것 같습니다. (평문일경우, 최소 파일을 읽는순간 정보노출이 됩니다)
제가 말한게 언제나 최선은 아닙니다 ㅠㅠ;

파일명을 변경하여도 시간만 좀 더 투자하면 모든 정보를 다 빼올수가 있네요.
이건 엔코딩 된다고 해도 해결될 문제 같지는 않아 보입니다.
뭔가 해결점이 있어보이는데 답은 안보이고... 같이 고민해 주셔서 감사합니다. ^^
이건 엔코딩 된다고 해도 해결될 문제 같지는 않아 보입니다.
뭔가 해결점이 있어보이는데 답은 안보이고... 같이 고민해 주셔서 감사합니다. ^^
솔직히 국내 중/소형 호스팅사의 경우는 같은 그룹으로 묶어놓고, 다른 계정 사용자의 파일을 볼 수가 있는 곳이 많습니다...관리자님이 고심하시는 부분은 개발자들만의 몫으로 처리하기는 힘들듯 합니다..
위의 관리자님의 예에서도 그렇듯이...
위 파일뿐 아니라 모두 볼 수 있다는 문제가 있습니다..
그렇다고 버젼마다 파일명을 랜덤하게 변경하여 배포할수도 없고..
저는 좀 고민하다가 말았습니다..
사용자들에게 변경해서 사용할것을 당부하는 수 밖에 현재로서는 달리 뾰족한수가 없다고 판단됩니다...
한 번 진지하게 고민해 볼 필요는 있겠습니다..
관련 자료를 찾아봐야 겠네요...
위의 관리자님의 예에서도 그렇듯이...
위 파일뿐 아니라 모두 볼 수 있다는 문제가 있습니다..
그렇다고 버젼마다 파일명을 랜덤하게 변경하여 배포할수도 없고..
저는 좀 고민하다가 말았습니다..
사용자들에게 변경해서 사용할것을 당부하는 수 밖에 현재로서는 달리 뾰족한수가 없다고 판단됩니다...
한 번 진지하게 고민해 볼 필요는 있겠습니다..
관련 자료를 찾아봐야 겠네요...

어떤 방법을 써야 DB 설정값을 보호할 수 있을까요?
같은 서버에 있는 타 계정에서는 파일명을 변경하지 않는 한 감출 방법이 없어 보입니다.
hack.php
---------------------------------------------------------------
<?
define("_GNUBOARD_", 1);
$g4_path = ".";
$str = addslashes(implode("", file("/home/***/common.php")));
echo $str;
?>
같은 서버에 있는 타 계정에서는 파일명을 변경하지 않는 한 감출 방법이 없어 보입니다.
hack.php
---------------------------------------------------------------
<?
define("_GNUBOARD_", 1);
$g4_path = ".";
$str = addslashes(implode("", file("/home/***/common.php")));
echo $str;
?>
넵...수고많으십니다..

수정중입니다.
아...밑에 부분은 주석처리 안하셔도 될듯 하군요..
IPM 플랫폼에서 서버변수가 달라서 일수 있습니다.
IPM 플랫폼에서 서버변수가 달라서 일수 있습니다.
ㅋㅋㅋ