-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathdefault_shell.php
119 lines (100 loc) · 3.26 KB
/
default_shell.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?php
/*
* default_shell.php
* atdt01410 - The Web interface mimics virtual terminal environment
* Copyright (C) 2003, 2004 SPLUG, Soongsil university, Republic of Korea
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// ---------------------------------------------------------------
// 명령어 처리기
//
// 자주 쓰이지 않거나, 명령어들이 너무 많을 경우 핵심 명령어들을
// 제외한 명령어들은 이곳에 등록해놓는다.
// ---------------------------------------------------------------
// ---------------------------------------------------------------
// 사용자로부터 넘겨받은 명령어 : $CMD
// ---------------------------------------------------------------
// ---------------------------------------------------------------
// 지우지 마시오.
// ---------------------------------------------------------------
Header("Pragma: no-cache");
Header("Expires: 0");
function move( $url )
{
echo "
<script language=\"javascript\">
parent.page_move( \"{$url}\" );
</script>";
}
function message( $msg )
{
echo "
<script language=\"javascript\">
parent.message( \"{$msg}\" );
</script>";
}
function alert( $msg )
{
echo "
<script language=\"javascript\">
alert( \"{$msg}\" );
</script>";
}
function script( $script )
{
echo "
<script language=javascript>
{$script};
</script>";
}
if( (! isset($CMD)) or (trim($CMD) == "") ) {
message( "UNKNOWN" );
exit();
}
$argv = split( " ", $CMD );
$argc = count($argv);
// ---------------------------------------------------------------
// ---------------------------------------------------------------
// 이곳에 명령어 등록
// argv 와 argc 를 이용.
// ---------------------------------------------------------------
// 예제
if( $argv[0] == "go" ) {
if( $argv[1] == "free" ) {
move( "http://www.01410.net/menu/netplaza/plaza.php" );
exit();
}
}
// ---------------------------------------------------------------
// bye 명령
// X명령은 default_menu 에서 등록하였으나, bye 명령은
// 바닥메뉴에 표시할 필요가 없기 때문에, default_shell 에 등록.
// ---------------------------------------------------------------
if( $argc == 1 ) {
if( $argv[0] == "bye" ) {
script( "parent.close();" );
exit();
}
}
// ---------------------------------------------------------------
// URL 이동
// ---------------------------------------------------------------
if( substr( $argv[0], 0, 7 ) == "http://" ) move( $argv[0] );
if( substr( $argv[0], 0, 4 ) == "www." ) move( "http://{$argv[0]}" );
// ---------------------------------------------------------------
// 없는 명령어 처리
// ---------------------------------------------------------------
message( "UNKNOWN" );
?>