[보안관련] 이 코드 어떨까요? 정보
일반 [보안관련] 이 코드 어떨까요?
본문
common.php
$dirname = dirname(__FILE__).'/'; // 추가
$dbconfig_file = "dbconfig.php";
if (file_exists("$g4[path]/$dbconfig_file")) {
dbconfig.php
<?
if ($dbconfig_file != str_replace($dirname, '', __FILE__)) die('정상적인 접근이 아님'); // 추가
$mysql_host = "localhost";
$mysql_user = "user";
$mysql_password = "password";
$mysql_db = "db";
?>
$dirname = dirname(__FILE__).'/'; // 추가
$dbconfig_file = "dbconfig.php";
if (file_exists("$g4[path]/$dbconfig_file")) {
dbconfig.php
<?
if ($dbconfig_file != str_replace($dirname, '', __FILE__)) die('정상적인 접근이 아님'); // 추가
$mysql_host = "localhost";
$mysql_user = "user";
$mysql_password = "password";
$mysql_db = "db";
?>
댓글 전체
dbconfig.php 파일의 내용자체는 바꿀수가 없으므로
어떤 방법으로도 감출수 없을것 같습니다.
다만..
파일명을 바꾸는 방법의 하나로...
처음 인스톨 할때
규칙으로 정한 디렉토리에...
규칙으로 정한 파일..
가령..
gnuboard - xxxx_dbfile - happy_db.php
뭐 이런식으로 저장을 해서...
디비파일 디렉토리와 파일명을 감추어 볼 수는 있을것 같습니다.
(저의 사소한 생각...)
그렇지 않다면..
인코딩.. 디코딩 함수 루틴을 만들어서...
db config 파일에
일단 인코딩해서 저장한 다음..
불러올때는 반대로 디코딩 해서 불러와 디비에 접속하는 방법도 있을 수 있고요..
그럼 약간 버벅거릴까요?
에구..
어렵다..
~~
어떤 방법으로도 감출수 없을것 같습니다.
다만..
파일명을 바꾸는 방법의 하나로...
처음 인스톨 할때
규칙으로 정한 디렉토리에...
규칙으로 정한 파일..
가령..
gnuboard - xxxx_dbfile - happy_db.php
뭐 이런식으로 저장을 해서...
디비파일 디렉토리와 파일명을 감추어 볼 수는 있을것 같습니다.
(저의 사소한 생각...)
그렇지 않다면..
인코딩.. 디코딩 함수 루틴을 만들어서...
db config 파일에
일단 인코딩해서 저장한 다음..
불러올때는 반대로 디코딩 해서 불러와 디비에 접속하는 방법도 있을 수 있고요..
그럼 약간 버벅거릴까요?
에구..
어렵다..
~~
헉~~
테스트를 해보지 않고 코드만 보고 댓글을 달았었는데.....^^;
차후론 가능한 짬을 내서 테스트를 해봐야 할 듯 합니다..
테스트를 해보지 않고 코드만 보고 댓글을 달았었는데.....^^;
차후론 가능한 짬을 내서 테스트를 해봐야 할 듯 합니다..
고생 많으십니다.
현재로서는 어떤 방법으로도 감출 수 없음을 확인하였습니다.
코드는 원래대로 처리해 놓겠습니다. (내일)
코드는 원래대로 처리해 놓겠습니다. (내일)
common.php 에 mysql 설정값을 아예 넣는 방식으로 수정 하였습니다.
테스트 해 본 결과 쓸데없는 코드임이 밝혀졌습니다. ㅜㅜ
dbconfig.php 파일명을 바꾸는게 가장 좋은 방법이라는것이 밝혀졌습니다.
dbconfig.php 파일명을 바꾸는게 가장 좋은 방법이라는것이 밝혀졌습니다.
괜찮은 방법인것 같습니다...
또는 별도로 dbconfig.php 에 접근시 define 로 별도로 접근 변수를 선언해서 정상적인 인클루드인가를 체크하는 것도 괜찮을거라 보구요..물론 이 경우에는 어디에서 어떻게 인클루드하는가를 좀 더 고심해봐야 겠지만..
위 방법으로도 만족할 수준은 되는것 같습니다.
또는 별도로 dbconfig.php 에 접근시 define 로 별도로 접근 변수를 선언해서 정상적인 인클루드인가를 체크하는 것도 괜찮을거라 보구요..물론 이 경우에는 어디에서 어떻게 인클루드하는가를 좀 더 고심해봐야 겠지만..
위 방법으로도 만족할 수준은 되는것 같습니다.