아파치 톰캣(Apache Tomcat)은 웹 서버 소프트웨어의 하나이며, 

'서블릿 컨테이너' 라고도 한다.(서블릿과 JSP를 실행할 수 있는 환경을 말한다.)



[Apache Tomcat] 다운로드 방법


자신에게 필요한 버전을 받으면 되며, java JDK 버전과 일치해야하는데

eclipse 에서 [window] - [Preferences] - [Server] - [RunTime]에 들어가서 add를 눌러보면 톰캣이 어디까지 지원하는지 확인할 수 있다. 




설치 과정에서는 계속 next 를 누르면 되며 아래와 같은 화면일 때는 jdk의 경로를 입력한다.




톰캣을 실행한 뒤 http://localhost:8080/ 에 접속했을 때 아래와 같은 화면이 나와야 하며 설치 과정에서 [HTTP/1.1 Connector port] 을 변경했다면 8080 대신 설정한 번호를 사용하면 된다.



그리고 필요하다면 환경 변수 설정을 할 수 있는데,

[내컴퓨터] - [속성] - [고급 시스템 설정] - [환경 변수]에서 설정할 수 있다.




톰캣이 설치된 경로를 복사하여 환경변수를 설정할 때 사용한다.



[새로만들기]를 눌러서 변수 이름과 변수 값을 만들고 [path]를 눌러서 환경변수 편집 창을 띄운 뒤 추가해주고 위로 올려준다.






이클립스는 노트패드나 에디트 플러스와 같은 단순한 편집기가 아니기 때문에 툴에 대한 적응기간이 필요하며, 구조는 단순하나 복잡한 숨은 기능이 많이 있다.





이클리스는 이클립스 홈페이지에서 다운받을 수 있다.


https://www.eclipse.org/downloads/




다운받은 프로그램을 실행하면 아래와 같다.


각자 용도에 맞는 프로그램을 다운받으면 되는데 JSP 사용을 위해 다운받을 프로그램은 'Eclipse IDE for EE Developer' 이다.



설치를 완료했으면 기본적으로 설정해야할 것이 있다.


꼭 해야하는 건 아니기 때문에 필요하지 않다면 생략해도 된다.


[Window] -> [Preference]를 선택하면 이클립스의 옵션들을 조정할 수 있는데 기본적인 설정들은 General 항목 아래에 있다.


( [Show line numbers]를 선택하면 행 번호가 표시된다. )


( 텍스트 인코딩 값을 설정할 수 있다. )


( JSP와 관련된 기본 인코딩 설정을 변경할 수 있다. )


( HTML 파일 인코딩 설정 )

( JSP 파일 인코딩 설정)






그누보드를 사용하면서 alert 경고창으로 이런 문구를 본 적이 있을 것이다.



'정상적으로 로그인하여 접근하시기 바랍니다.'


이것은 그누보드의 관리자 화면에 접속할 때 몇몇 사람들에게 생기는 현상인데 처음 접한 사람이라면 당황할 수 밖에 없을 것이다.


뿐만 아니라 관리자 화면에 접속하고서도 메뉴 등 버튼을 눌렀을 때 로그아웃 되는 현상이 발생할 수 있다.


이것에는 여러가지 이유가 있을 수 있으나 필자가 해결한 방법은 아래와 같다.


우선 필자는 처음에 데스크톱으로 ftp를 활용하여 서버에 그누보드를 설치했는데 다른 PC와 노트북으로 사이트에 접속하여 adm페이지, 관리자화면에 접속했을 때 오류가 발생하였다.


'정상적으로 로그인하여 접근하시기 바랍니다' 라는 경고창의 소스는 admin.lib.php 파일에서 찾을 수 있는데 이를 통하여 오류의 발생 원인 또한 이 파일에 있다는 것을 알 수 있다. 참고로 admin.lib.php 파일은 gnuboard/adm 폴더에 있다.


문제가 발생하는 원인을 추측해보자면 누군가가 해킹 등 나쁜 목적으로 관리자 페이지에 접근하는 것을 막기 위해 관리자 pc와 정보가 다를 때 접근을 막는 것이 이러한 문제를 일으키는 것 같다.


해결 방법

: 오류의 원인이 되는 소스를 삭제, 변경하거나 주석처리한다.



그누보드4

admin.lib.php (변경 전)

 // 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다.

$admin_key = md5($member[mb_datetime] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);

admin.lib.php  (변경 후)

 // 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다.

// $admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']); 

$admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . preg_replace('/; ; NCLIENT50\S*\)/',')',$_SERVER['HTTP_USER_AGENT']));

//출처 5.0.30 버전 보안툴로 인한 문제 해결 (정상적으로 로그인하여 접근하시기 바랍니다.)|작성자 질풍이


 그누보드5

 admin.lib.php (변경 전)

 // 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다.

$admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);

if (get_session('ss_mb_key') !== $admin_key) {


    session_destroy();


    include_once(G5_LIB_PATH.'/mailer.lib.php');

    // 메일 알림

    mailer($member['mb_nick'], $member['mb_email'], $member['mb_email'], 'XSS 공격 알림', $_SERVER['REMOTE_ADDR'].' 아이피로 XSS 공격이 있었습니다.\n\n관리자 권한을 탈취하려는 접근이므로 주의하시기 바랍니다.\n\n해당 아이피는 차단하시고 의심되는 게시물이 있는지 확인하시기 바랍니다.\n\n'.G5_URL, 0);


    alert_close('정상적으로 로그인하여 접근하시기 바랍니다.');

}

 admin.lib.php  (변경 후)

 // 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다.

/*$admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);

if (get_session('ss_mb_key') !== $admin_key) {


    session_destroy();


    include_once(G5_LIB_PATH.'/mailer.lib.php');

    // 메일 알림

    mailer($member['mb_nick'], $member['mb_email'], $member['mb_email'], 'XSS 공격 알림', $_SERVER['REMOTE_ADDR'].' 아이피로 XSS 공격이 있었습니다.\n\n관리자 권한을 탈취하려는 접근이므로 주의하시기 바랍니다.\n\n해당 아이피는 차단하시고 의심되는 게시물이 있는지 확인하시기 바랍니다.\n\n'.G5_URL, 0);


    alert_close('정상적으로 로그인하여 접근하시기 바랍니다.');

}*/


+ Recent posts

티스토리 툴바