CI 묻고 답하기

제목 DB정보가 노출되서 문제인데요....
글쓴이 liekie 작성시각 2011/05/11 17:52:03
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 24633   RSS






안녕하세요.

CI로 작업된 사이트가 아닙니다.

그림과 같이 "DB정보 노출"되는 것을 수정해 달라고 요청이 왔는데

내용을 보니...
DB정보가 담긴 파일을 직접URL로 접근하면, 바로 다운로드가 된다는 내용인것 같습니다.

이렇게 되면 DB정보가 완전히 노출되서 문제인데.... --;

이럴 경우 대비를 어떻게 해야 하는지요.

일반적으로 DB정보파일은 어떤 파일로 어떻게 감추는지요?

회원님들...  답변 꼭 좀 부탁드려요...


-----------------------------------------------------------
PHP파일에서 웹상으로는 접근못하는 경로에 넣어 두면 되는 건가요?
아니면 특정 폴더는 웹상으로 접근 못하게 지정하나요?
 

 다음글 php 기초적인 질문....... (2)
 이전글 CI 를 템플릿 스럽게 쓰려고 하는데요 (2)

댓글

내일은 / 2011/05/11 18:13:27 / 추천 0
 다운로드 시에 다운로드 파일의 실제 경로를 넣는것 자체가 보안상의 문제가 될듯합니다.

게시물 번호를 받아서 게시물에 해당하는 파일만 다운로드가 가능하게 변경하면 수정될것같아요 .
liekie / 2011/05/11 18:19:54 / 추천 0

"../../../../"  <- 이부분을 받아들이지 않게 수정하면 된다고 하는데...(아는 사람의 답변..)

PHP설정(php.ini)에서 바꾸라는 뜻인가요?
어떻게 바꾸어 야하는지 php를 처음 해보는지라... -_-;;
내일은 / 2011/05/11 18:26:34 / 추천 0
소스 구조가 어떻게 되어있는지는 모르겠습니다

게시물 번호를 가지고 관련 파일의 정보를 가져올수없는 상황이라면

첨부파일을 읽어오는 디렉토리가 고정일경우에 한해서는

../ <-- 이부분을 찾아서 바꾸거나 제어하는쪽으로 처리하셔야 된다는 말씀같습니다.

디렉토리 구조를 모르니 딱 꼬집어 말씀드릴수가없네요  
변종원(웅파) / 2011/05/11 18:33:50 / 추천 0
 get이나 post로 받은 변수를 처리하는 함수를 하나 만드시고 모든 get, post 변수는 그 함수를
통해 사용하셔야 합니다.

/ 는 당연히 빈값으로 치환되게 하셔야 하며 (ci에서는 주소표시줄에 사용할 수 있는 캐릭터를 한정하여
처음부터 그 문제를 피해가고 있습니다.)
<script> <embed> 등등이 주소로 들어오는 것도 [removed] 등으로 치환하시면 됩니다.
(ci input library의 xss_clean() 함수를 참고로 만드시면 됩니다.)


이번 php fest 2011에서 강의하려는 주제가 딱 나왔네요. 보통 개발자들이 신경을 안쓰고 지나가는 부분입니다.
XSS

/etc/passwd도 웹에서 접근 못하는 파일입니다만 위와 같은 처리를 하지 않아 다운로드가 되는 겁니다.
tpae / 2011/05/12 06:44:28 / 추천 0
PHP 버젼이 5.3.0 이상이면 open_basedir 세팅을 이용하여 막을수 있습니다.

open_basedir 세팅은 PHP가 파일들을 접근할수 있는곳을 지정하는곳 인데요.. 다운로드 받을수 있는 폴더만 open_basedir 세팅 해서 하면 됄거 같습니다.

http://php.net/manual/en/ini.core.php