5.2 확장개발-PHP
인쇄
 
2009-07-09 19:02:41
조회:176812
답글지움수정 아랫글 목록 윗글

5.2 확장개발-PHP



 쎄지오는 "UTF-8" 기반으로 동작하므로 PHP로 작성된 응용 어플리케이션도 "UTF-8"기반으로 제작되어야 합니다 (별도의 페이지로 동작하는 경우 UTF-8이 아니어도 동작합니다). PHP 응용 어플리케이션의 실행결과로 HTML문서를 출력하면 쎄지오는 이에 대하여 웹필터링을 진행합니다. PHP 개발환경을 이용하여 회원관리, 게시판관리, 웹빌더마법사 등의 부가적인 어플리케이션을 개발할 수 있습니다.


1) PHP 정보표시

맨위로

 

 

 

  아파치에서와 마찬가지로 다음과 같은 방법에 의해 PHP 설정 값을 확인할 수 있습니다. 쎄지오에 탑재된 PHP는 기본적으로 5 버전입니다.

 

<html>

<head>

<title>phptest</title>

</head>

<body>

<?  phpinfo(); ?>

</body>

 

  위와 같은 내용을 포함한 PHP문서는 실행되어 다음의 그림과 같은 결과로 나타납니다.

  

위 그림은 출력 부분중 일부만을 잘라서 삽입한 것입니다. 위의 구문을 포함한 PHP스크립트를 아무런 권한 없이 php문서로 저장하여 웹문서에 포함시키면 보안문제가 야기될 수 있습니다.

 

변수명

전달 자료

REQUEST_METHOD

서버요청 방법( ex) GET or POST )

HOME

인트라셀의 홈디렉토리

DOCUMENT_ROOT

Html 문서의 홈디렉토리

REMOTE_USER

사용자의 아이디

REMOTE_HOST

요청한 사용자의 호스트 이름

REMOTE_ADDR

요청한 사용자의 IP

REMOTE_USERLEVEL

사용자의 등급( ex: 0 ~ 9 )

REMOTE_LOCATIONLEVEL

로케이션에서의 등급(동호회, 사용자공간)

DISK_QUOTA

사용자별로 사용가능한 용량

USERHOME_QUOTA

사용자의 홈디렉토리 용량

USERBOARD_MAX

사용자가 소유 가능한 게시판수

REMOTE_USERNAME

사용자 별명

REMOTE_REALNAME

사용자 실명

SERVER_NAME

서버 이름

HTTP_HOST

해당 인트라셀의 도메인명

INTRACELL

인트라셀의 번호

  위 환경변수 값들은 아래와 같은 코드로 확인이 가능합니다.

<? system("env"); ?>

 

 

2) 인증(Authorization) 공유

맨위로

 

 

 

  로그인하지 않은 사용자의 경우 0등급, 로그인한 사용자는 1등급 이상의 등급을 갖게 되므로 등급을 이용하여 손쉽게 인증여부를 처리할 수 있습니다. 다음은 "REMOTE_USERLEVEL"을 이용하여 인증 여부를 처리하는 간단한 예입니다.

 

<?  if($REMOTE_USERLEVEL > 0){

 echo "로그인 되었습니다<br />";

 echo $REMOTE_USERNAME ."님 환영합니다.";

    } else {

 echo "로그인 후 사용하십시오";

    } ?>

 

 REMOTE_USERLEVEL이외에도 REMOTE_USER(사용자 아이디), REMOTE_USERNAME(사용자 별명), REMOTE_REALNAME(사용자 실명)등의 환경변수 값을  이용하여  별도의 인증과정없이 좀 더 손쉬운 처리가 가능합니다. 위의 스크립트는 쉘스크립트를 이용하여 다음과 같이 표현 가능합니다.

 

$#if u.conn#; 로그인되었습니다.

    $#u.name#;님 환경합니다.

$#else#;

    로그인후 사용하십시오.

$#fi#;


 

3) 쉘 템플릿 적용

맨위로

 

 

 

  단일프레임으로 HTML문서를 구성할 때, PHP로 작성된 애플리케이션에 다음의 코드를 삽입하면 PHP코드에 HTML을 삽입하는 작업 없이 템플릿을 효과적으로 적용할 수 있습니다.

 

  1. echo "$#shell,=#;";         → 상속쉘을 적용할 경우

  2. echo "$#shell,/#;";         → 기본쉘을 적용할 경우

  3. echo "$#shell,/main.shell#;";  → 지정쉘을 적용할 경우

 

 아래 그림은 PHP코드에 쉘을 적용한 예입니다.

 

 

 아래 그림은 PHP로 작성된 제로보드에 HTML쉘을 적용한 예입니다. 일반적인 공개 PHP 프로그램은 "UTF-8"의 문자셋이 아닌 경우가 있는데 HTML 쉘문서와 조합되는 과정에서 문제가 발생할 수 있습니다. 필요에 따라서는 "UTF8"문자셋으로 전환해주어야 합니다.

 

 

  

웹관리도구의 “새파일”편집 창을 띄워+ 카피한 후 저장하면 자동으로 UTF-8로 저장됩니다. "$#l.shell#;"구문을 사용하여 PHP로 작성된 스크립트 간에 쉘 레이아웃이 유연하게 적용되도록 할 수 있습니다.

 

  3. echo "<a href=\"/view_cont.php?shell=$#l.shell#;\">콘텐츠보기</a>"; 

  → 작동중인 쉘을 호출쉘로 함

  

위와 같은 기법은 CGI기반의 프로그래밍에서도 동일하게 사용할 수 있습니다.


 

4) DataBase 연동

맨위로

 

 

 

  MySQL 4.1이상 버전의 경우 모든 저장 데이터를 유니코드(UTF-8)로 저장합니다. 따라서 하위 버전(MySQL4.1이하)에서 사용하던 Web Application 및 DataBase 데이터를 유니코드로 변경하는 별도의 작업이 필요합니다. 다음은 PHP를 이용하여 DB에 접속하는 예입니다.

 

<?

    $c0nn=mysql_pconnect("localhost", "segio" , "segio");

    if(!$conn) { echo "Mysql Connect Fail"; }

    else       { echo "Mysql Connect Ok";  }

?>

 

 쎄지오는 기본 문자셋으로 UTF8을 채택합니다. 호환을 위해 다음과 같은 방법으로 MySQL의 문자셋을 "UTF8"로 지정합니다.

 

  ex) mysql_query("SET NAMES UTF8" , $conn);


 

5) 상위 디렉토리 접근제한

맨위로

 

 

 

  하나의 서버에서 다수의 인트라셀을 운영하는 경우 인트라셀간의 간섭을 피하기 위하여 PHP에서 상위디렉토리에 접근하지 못하도록 제한하고 있습니다. 인트라셀 홈페이지에 존재하는 PHP 파일의 경우 인트라셀 홈디렉토리까지 접근권한이 주어지며, 사용자공간에 있는 PHP파일의 경우 사용자의 홈디렉토리까지만 접근권한이 부여됩니다. 동일한 방법으로 동호회에서는 동호회의 홈디렉토리 영역까지만 접근이 가능합니다. 사용자공간과 동호회공간은 모두 인트라셀 하위 디렉토리에 위치하게 되므로 일반 HTML공간의 PHP프로그램은 사용자공간 및 동호회 공간에 대해 접근가능하기 때문에 홈페이지 마법사 등과 같은 어플리케이션을 구현할 수 있습니다. 단 사용자공간 및 동호회 공간의 PHP파일은 인트라셀이나 다른 사용자공간이나 동호회 공간에 접근권한을 갖지 않습니다.


 

6) 기타 

맨위로

 

 

 

  기존 서버에 Apache와 PHP가 Source를 컴파일 한 형식으로 설치된 경우 쎄지오의 PHP가 작동되지 않을 수 있습니다. 설정파일과 라이브러리의 차이에 기인한 것으로 제거 후 다시 설치하여야 합니다.

답글지움수정인쇄 아랫글 목록 윗글
댓글달기

쎄지오 매뉴얼 게시판의 게시물 목록
번호 파일 글제목 작성자 일시 조회
61 gif 파일 ticon10.4 CMS개요 케이시크 09-07-21 149552
60   ticon4.5 환경설정 케이시크 09-07-17 184984
59 jpg 파일 ticon6.8 게시판자동생성 [3] 관리자 09-07-14 186149
58 jpg 파일 ticon6.7 게시판아이콘 관리자 09-07-14 185699
57 jpg 파일 ticon6.6 게시판환경설정 관리자 09-07-14 184846
56 jpg 파일 ticon6.5 게시판관리 관리자 09-07-14 167661
55 jpg 파일 ticon3.7 환경 설정 관리자 09-07-14 201862
54 jpg 파일 ticon3.6 웹메일 필터 관리자 09-07-14 205305
53 gif 파일 ticon8.7 사용자관리 관리자 09-07-13 184008
52 jpg 파일 ticon10.3 플래시쇼 관리 sysop 09-07-10 193454
51 jpg 파일 ticon10.3 플래시쇼 개요 sysop 09-07-10 191457
50 gif 파일 ticon10.2 메뉴관리 sysop 09-07-10 166451
49 gif 파일 ticon10.1 프론트페이지 sysop 09-07-10 191708
48 jpg 파일 ticon9.4 업무용 메신저 sysop 09-07-10 462465
47 jpg 파일 ticon9.3 명함관리 sysop 09-07-10 196806
46 jpg 파일 ticon9.2 업무진행 sysop 09-07-10 188399
45 bmp 파일 ticon9.1 전자결재 sysop 09-07-10 201150
44 jpg 파일 ticon9.2 시스템구성 sysop 09-07-10 183845
43   ticon9.1 전자결재개요 sysop 09-07-10 179811
42   ticon8.6 자바환경설정 sysop 09-07-10 188672
41   ticon8.5 웹게시판 sysop 09-07-10 178806
40   ticon8.4 웹쪽지 sysop 09-07-10 186047
39   ticon8.3 웹메신저 sysop 09-07-10 377217
38 jpg 파일 ticon8.2 웹메일 서비스 sysop 09-07-10 256560
37 jpg 파일 ticon8.1 사용자 웹서비스 sysop 09-07-10 207380
36   ticon7.8 커뮤니티 게시판관리 sysop 09-07-10 202766
35   ticon7.7 커뮤니티 회원관리 sysop 09-07-10 209694
34 jpg 파일 ticon7.6 사용자 환경설정 sysop 09-07-10 208363
33   ticon7.5 동호회 연결하기 sysop 09-07-10 711350
32 jpg 파일 ticon7.4 신규동호회 개설 sysop 09-07-10 215751
31 jpg 파일 ticon7.3 커뮤니티 관리도구 sysop 09-07-10 217247
30 jpg 파일 ticon7.2 동호회, 사용자 홈페이지 로그인 sysop 09-07-10 199089
29   ticon7.1 커뮤니티 개요 sysop 09-07-10 191431
28 jpg 파일 ticon6.3 게시판 관리와 응용 sysop 09-07-09 206441
27 jpg 파일 ticon6.2 게시판 스타일 sysop 09-07-09 196767
26 jpg 파일 ticon6.1 게시판 목록/인증필터 sysop 09-07-09 338866
25 jpg 파일 ticon6.1 게시판 편집/보기필터 sysop 09-07-09 195935
24   ticon5.4 확장개발-JSP sysop 09-07-09 196431
23   ticon5.3 확장개발-사용자 관리 sysop 09-07-09 196908
22 jpg 파일 ticon5.2 확장개발-PHP sysop 09-07-09 176812
21 jpg 파일 ticon5.1 확장개발-CGI 바이너리 sysop 09-07-09 273842
20 jpg 파일 ticon4.4사용기록보기 sysop 09-07-09 183902
19 jpg 파일 ticon4.3 사용자관리 sysop 09-07-09 195522
18 jpg 파일 ticon4.2 로그인 및 관리도구 [1] sysop 09-07-09 205064
17 jpg 파일 ticon4.1 인트라셀이란 sysop 09-07-09 1241677
16 jpg 파일 ticon3.5 스팸메일 설정 sysop 09-07-09 598456
15 jpg 파일 ticon3.4 웹메일 사용자 기능 sysop 09-07-09 228475
14 jpg 파일 ticon3.3 웹메일 구성 sysop 09-07-09 231462
13 jpg 파일 ticon3.2 웹메일 환경설정 sysop 09-07-09 553061
12 jpg 파일 ticon3.1 웹메일 개요 sysop 09-07-09 221209
11   ticon2.6 기초필터파일 sysop 09-07-09 394210
10 jpg 파일 ticon2.5 웹편집기 sysop 09-07-09 196103
09 jpg 파일 ticon2.4 웹 디렉토리 sysop 09-07-09 222752
08 jpg 파일 ticon2.3 웹 레이아웃 sysop 09-07-09 248556
07 jpg 파일 ticon2.2 웹필터링 sysop 09-07-09 329243
06 jpg 파일 ticon2.1 쎄지오 웹자원 sysop 09-07-09 333480
05 jpg 파일 ticon1.5 쎄지오 관리 sysop 09-07-09 220874
04 jpg 파일 ticon1.4 처음 로그인 하기 sysop 09-07-09 229840
03 jpg 파일 ticon1.3 쎄지오 설치 2 sysop 09-07-09 438595
02 gif 파일 ticon1.2 쎄지오 설치 sysop 09-07-09 812509
01 gif 파일 ticon1.1 intro sysop 09-07-09 190282