CGI 프로그램에서 DB 접속 부분
글쓴이: zflute / 작성시간: 화, 2003/10/07 - 3:33오전
PHP나 펄 등으로 CGI 프로그램을 작성해서 DB에 접속하는 프로그램이 있다고 가정을 합시다. 일반적인 경우 브라우저에서는 DB 접속을 위한 계정과 암호를 알 수 없겠지만, 쉘 계정을 가지고 있는 사람은 그 파일을 열어 볼 수 있으니깐 DB접속 계정과 암호를 알아낼 수 있게 됩니다.
그렇다면, 웹 호스팅이나 학교 서버와 같이 여러 사람이 함께 사용하는 서버일 경우에 다른 계정 사용자(관리자 제외)가 DB 계정 정보를 알 수 없도록 하는 방법이 없을까요?
Forums:
Re: CGI 프로그램에서 DB 접속 부분
C로 작성하면 알아내기힘들겠죠.
----------------------------------------------------------------------------
Connection Pool을 이용하세요.
요즘 대부분의 웹서버에서는 Database 접속을 위해서 Connection Pool을 지원합니다.
이것을 사용하는 것은 여러가지 목적이 있겠지만 가장 큰 이유는 성능입니다.
보통 디비 플그램에서 가장 속도에 지장을 주는 것이 데이타베이스에 접속하는 부분입니다. 몇초씩 잡아먹는데 웹플그램이 페이지 하나 보여줄 때 마다 접속해서 끊고 하는 보통 방법을 쓰면 무지 느리게 되고 DBMS와 웹서버에 부담을 주게 됩니다.
두번째는 비용입니다. 데이타베이스는 유저당 비용을 책정해서 무지 비쌉니다. Connection Pool은 몇개의 connection을 계속 공유할 수 있으므로 비용을 절감할 수 있습니다.
그 외에도 zflute 님이 원하시는 것처럼 데이타베이스 계정과 암호를 숨길 수 있습니다. Connection Pool을 설정하는 것은 웹서버나 Web Logic등 솔루션의 admin 계정으로만 보통 할 수 있고 그것을 이용하는 프로그램들은 만들어진 connection pool을 이용만 하기 때문에 그 효과가 발생합니다.
그외에도 많은 장점이 있습니다.
성능 모니터링 등등..
요즘은 왠만한 웹서버에서는 거의 지원하는 것으로 알고 있으니 한번 이용해보세요.
Re: CGI 프로그램에서 DB 접속 부분
보통 쉘 계정을 공유하지 않는 이상 함부로 보기 힘들듯 한데요..
chmod 600 정도로 하거나 디렉토리에 접근 권한을 제한 하는 정도..
http://redage.net
PHP같은 경우. 파일내용을 열어도 알아보지 못하게 암호화하는프로그램
PHP같은 경우. 파일내용을 열어도 알아보지 못하게 암호화하는
프로그램이 있습니다. 그걸로 PHP파일을 처리해놓으시는건
어떠실런지...
===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com
댓글 달기