Skip to content

Commit d56f191

Browse files
committed
添加项目Dockerfile
1 parent a2bf2b9 commit d56f191

File tree

4 files changed

+227
-1
lines changed

4 files changed

+227
-1
lines changed

README.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
若要自己亲自搭建环境,请按照以下配置环境,方可正常运行每个Pass。
3434

3535
|配置项|配置|描述|
36-
|:---:|:---:|:---:|
36+
|:---|:---|:---|
3737
|操作系统|Window or Linux|推荐使用Windows,除了Pass-19必须在linux下,其余Pass都可以在Windows上运行|
3838
|PHP版本|推荐5.2.17|其他版本可能会导致部分Pass无法突破|
3939
|PHP组件|php_gd2,php_exif|部分Pass依赖这两个组件|
@@ -51,6 +51,13 @@
5151

5252
创建镜像
5353

54+
```
55+
$ cd upload-labs/docker
56+
$ docker build -t upload-labs .
57+
```
58+
59+
60+
5461
```
5562
$ docker pull c0ny1/upload-labs
5663
```

docker/Dockerfile

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
FROM php:5.5-apache
2+
3+
MAINTAINER c0ny1 <[email protected]>
4+
ENV LC_ALL C.UTF-8
5+
ENV TZ=Asia/Shanghai
6+
7+
COPY . /tmp/
8+
9+
# config apache && php
10+
RUN cp /tmp/docker-php.conf /etc/apache2/conf-available/docker-php.conf &&\
11+
cp /tmp/php.ini /usr/local/etc/php/ &&\
12+
cp /tmp/php.ini /usr/local/etc/php/conf.d/
13+
14+
# install git && php ext
15+
RUN apt-get update && \
16+
apt-get install -y libgd-dev &&\
17+
apt-get install -y git &&\
18+
docker-php-ext-install gd &&\
19+
docker-php-ext-enable gd &&\
20+
docker-php-ext-install exif &&\
21+
docker-php-ext-enable exif &&\
22+
rm -rf /var/lib/apt/lists/*
23+
24+
# install upload-labs
25+
RUN cd /tmp/ &&\
26+
git clone https://github.com/c0ny1/upload-labs.git &&\
27+
rm -rf /var/wwww/html/* &&\
28+
mv /tmp/upload-labs/* /var/www/html/ &&\
29+
chown www-data:www-data -R /var/www/html/ && \
30+
rm -rf /tmp/*
31+
32+
EXPOSE 80

docker/docker-php.conf

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# <FilesMatch \.php$>
2+
# SetHandler application/x-httpd-php
3+
# </FilesMatch>
4+
5+
AddHandler application/x-httpd-php .php
6+
7+
DirectoryIndex disabled
8+
DirectoryIndex index.php index.html
9+
10+
<Directory /var/www/>
11+
Options -Indexes
12+
AllowOverride All
13+
</Directory>

docker/php.ini

+174
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
[PHP]
2+
engine = On
3+
short_open_tag = Off
4+
asp_tags = Off
5+
precision = 14
6+
output_buffering = 4096
7+
zlib.output_compression = Off
8+
implicit_flush = Off
9+
unserialize_callback_func =
10+
serialize_precision = 17
11+
disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
12+
disable_classes =
13+
zend.enable_gc = On
14+
magic_quotes_gpc = Off
15+
expose_php = Off
16+
max_execution_time = 30
17+
max_input_time = 60
18+
memory_limit = 128M
19+
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
20+
display_errors = Off
21+
display_startup_errors = Off
22+
log_errors = On
23+
log_errors_max_len = 1024
24+
ignore_repeated_errors = Off
25+
ignore_repeated_source = Off
26+
report_memleaks = On
27+
track_errors = Off
28+
html_errors = On
29+
variables_order = "GPCS"
30+
request_order = "GP"
31+
register_argc_argv = Off
32+
auto_globals_jit = On
33+
post_max_size = 8M
34+
auto_prepend_file =
35+
auto_append_file =
36+
default_mimetype = "text/html"
37+
default_charset = "UTF-8"
38+
doc_root =
39+
user_dir =
40+
enable_dl = Off
41+
file_uploads = On
42+
upload_max_filesize = 8M
43+
max_file_uploads = 20
44+
allow_url_fopen = On
45+
allow_url_include = On
46+
default_socket_timeout = 60
47+
[CLI Server]
48+
cli_server.color = On
49+
[Date]
50+
[filter]
51+
[iconv]
52+
[intl]
53+
[sqlite3]
54+
[Pcre]
55+
[Pdo]
56+
[Pdo_mysql]
57+
pdo_mysql.cache_size = 2000
58+
pdo_mysql.default_socket=
59+
[Phar]
60+
[mail function]
61+
SMTP = localhost
62+
smtp_port = 25
63+
mail.add_x_header = On
64+
[SQL]
65+
sql.safe_mode = Off
66+
[ODBC]
67+
odbc.allow_persistent = On
68+
odbc.check_persistent = On
69+
odbc.max_persistent = -1
70+
odbc.max_links = -1
71+
odbc.defaultlrl = 4096
72+
odbc.defaultbinmode = 1
73+
[Interbase]
74+
ibase.allow_persistent = 1
75+
ibase.max_persistent = -1
76+
ibase.max_links = -1
77+
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
78+
ibase.dateformat = "%Y-%m-%d"
79+
ibase.timeformat = "%H:%M:%S"
80+
[MySQL]
81+
mysql.allow_local_infile = On
82+
mysql.allow_persistent = On
83+
mysql.cache_size = 2000
84+
mysql.max_persistent = -1
85+
mysql.max_links = -1
86+
mysql.default_port =
87+
mysql.default_socket =
88+
mysql.default_host =
89+
mysql.default_user =
90+
mysql.default_password =
91+
mysql.connect_timeout = 60
92+
mysql.trace_mode = Off
93+
[MySQLi]
94+
mysqli.max_persistent = -1
95+
mysqli.allow_persistent = On
96+
mysqli.max_links = -1
97+
mysqli.cache_size = 2000
98+
mysqli.default_port = 3306
99+
mysqli.default_socket =
100+
mysqli.default_host =
101+
mysqli.default_user =
102+
mysqli.default_pw =
103+
mysqli.reconnect = Off
104+
[mysqlnd]
105+
mysqlnd.collect_statistics = On
106+
mysqlnd.collect_memory_statistics = Off
107+
[OCI8]
108+
[PostgreSQL]
109+
pgsql.allow_persistent = On
110+
pgsql.auto_reset_persistent = Off
111+
pgsql.max_persistent = -1
112+
pgsql.max_links = -1
113+
pgsql.ignore_notice = 0
114+
pgsql.log_notice = 0
115+
[Sybase-CT]
116+
sybct.allow_persistent = On
117+
sybct.max_persistent = -1
118+
sybct.max_links = -1
119+
sybct.min_server_severity = 10
120+
sybct.min_client_severity = 10
121+
[bcmath]
122+
bcmath.scale = 0
123+
[browscap]
124+
[Session]
125+
session.save_handler = files
126+
session.use_strict_mode = 0
127+
session.use_cookies = 1
128+
session.use_only_cookies = 1
129+
session.name = PHPSESSID
130+
session.auto_start = 0
131+
session.cookie_lifetime = 0
132+
session.cookie_path = /
133+
session.cookie_domain =
134+
session.cookie_httponly =
135+
session.serialize_handler = php
136+
session.gc_probability = 0
137+
session.gc_divisor = 1000
138+
session.gc_maxlifetime = 1440
139+
session.referer_check =
140+
session.cache_limiter = nocache
141+
session.cache_expire = 180
142+
session.use_trans_sid = 0
143+
session.hash_function = 0
144+
session.hash_bits_per_character = 5
145+
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
146+
[MSSQL]
147+
mssql.allow_persistent = On
148+
mssql.max_persistent = -1
149+
mssql.max_links = -1
150+
mssql.min_error_severity = 10
151+
mssql.min_message_severity = 10
152+
mssql.compatibility_mode = Off
153+
mssql.secure_connection = Off
154+
[Assertion]
155+
[COM]
156+
[mbstring]
157+
[gd]
158+
[exif]
159+
160+
[Tidy]
161+
tidy.clean_output = Off
162+
[soap]
163+
soap.wsdl_cache_enabled=1
164+
soap.wsdl_cache_dir="/tmp"
165+
soap.wsdl_cache_ttl=86400
166+
soap.wsdl_cache_limit = 5
167+
[sysvshm]
168+
[ldap]
169+
ldap.max_links = -1
170+
[mcrypt]
171+
[dba]
172+
[opcache]
173+
[curl]
174+
[openssl]

0 commit comments

Comments
 (0)