Thread Parameter bei SSI und CGI - oder warum funktioniert GET, POST aber nicht? (33 answers)
Opened by Draussenduscher at 2012-11-08 08:42

jan
 2012-11-08 11:48
#163156 #163156
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich hab das kurz getestet:

Code: (dl )
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
curl --data "param1=value1&param2=value2" -X POST http://127.0.0.1/ssitest/index.shtml


SCRIPT_NAME => /ssitest/envs.pl
SERVER_NAME => 127.0.0.1
SERVER_ADMIN => webmaster@localhost
REQUEST_METHOD => GET
CONTENT_LENGTH => 27
HTTP_ACCEPT => */*
DATE_GMT =>
SCRIPT_FILENAME => /home/jan/www/ssitest/envs.pl
DOCUMENT_NAME => index.shtml
LAST_MODIFIED =>
SERVER_SOFTWARE => Apache/2.2.22 (Ubuntu)
QUERY_STRING =>
REMOTE_PORT => 55229
HTTP_USER_AGENT => curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
SERVER_PORT => 80
SERVER_SIGNATURE => <address>Apache/2.2.22 (Ubuntu) Server at 127.0.0.1 Port 80</address>

REMOTE_ADDR => 127.0.0.1
CONTENT_TYPE => application/x-www-form-urlencoded
SERVER_PROTOCOL => INCLUDED
DATE_LOCAL =>
PATH => /usr/local/bin:/usr/bin:/bin
DOCUMENT_URI => /ssitest/index.shtml
REQUEST_URI => /ssitest/index.shtml
GATEWAY_INTERFACE => CGI/1.1
SERVER_ADDR => 127.0.0.1
DOCUMENT_ROOT => /home/jan/www
USER_NAME =>
HTTP_HOST => 127.0.0.1
==============================
Buffer [0],
==============================


Zur Probe noch mal auf ein Perl-Script, dass definitiv STDIN nicht anfasst:
Code: (dl )
1
2
3
4
5
6
7
#!/usr/bin/perl

use strict;
use warnings;

print "Content-Type: text/html\n\n";
print '<!--#exec cgi="envs.pl" -->';


Code: (dl )
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
jan@jlubuntu:~/www/ssitest$ curl --data "param1=value1&param2=value2" -X POST http://127.0.0.1/ssitest/test.pl
SCRIPT_NAME => /ssitest/envs.pl
SERVER_NAME => 127.0.0.1
SERVER_ADMIN => webmaster@localhost
REQUEST_METHOD => GET
CONTENT_LENGTH => 27
HTTP_ACCEPT => */*
DATE_GMT =>
SCRIPT_FILENAME => /home/jan/www/ssitest/envs.pl
DOCUMENT_NAME => test.pl
LAST_MODIFIED =>
SERVER_SOFTWARE => Apache/2.2.22 (Ubuntu)
QUERY_STRING =>
REMOTE_PORT => 55235
HTTP_USER_AGENT => curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
SERVER_PORT => 80
SERVER_SIGNATURE => <address>Apache/2.2.22 (Ubuntu) Server at 127.0.0.1 Port 80</address>

REMOTE_ADDR => 127.0.0.1
CONTENT_TYPE => application/x-www-form-urlencoded
SERVER_PROTOCOL => INCLUDED
DATE_LOCAL =>
PATH => /usr/local/bin:/usr/bin:/bin
DOCUMENT_URI => /ssitest/test.pl
REQUEST_URI => /ssitest/test.pl
GATEWAY_INTERFACE => CGI/1.1
SERVER_ADDR => 127.0.0.1
DOCUMENT_ROOT => /home/jan/www
USER_NAME =>
HTTP_HOST => 127.0.0.1
==============================
Buffer [0],
==============================


und um sicherzugehen, dass es überhaupt funktioniert:
Code: (dl )
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
jan@jlubuntu:~/www/ssitest$ curl --data "param1=value1&param2=value2" -X POST http://127.0.0.1/ssitest/envs.pl
SCRIPT_NAME => /ssitest/envs.pl
SERVER_NAME => 127.0.0.1
SERVER_ADMIN => webmaster@localhost
REQUEST_METHOD => POST
CONTENT_LENGTH => 27
HTTP_ACCEPT => */*
SCRIPT_FILENAME => /home/jan/www/ssitest/envs.pl
SERVER_SOFTWARE => Apache/2.2.22 (Ubuntu)
QUERY_STRING =>
REMOTE_PORT => 55245
HTTP_USER_AGENT => curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
SERVER_PORT => 80
SERVER_SIGNATURE => <address>Apache/2.2.22 (Ubuntu) Server at 127.0.0.1 Port 80</address>

REMOTE_ADDR => 127.0.0.1
CONTENT_TYPE => application/x-www-form-urlencoded
SERVER_PROTOCOL => HTTP/1.1
PATH => /usr/local/bin:/usr/bin:/bin
REQUEST_URI => /ssitest/envs.pl
GATEWAY_INTERFACE => CGI/1.1
SERVER_ADDR => 127.0.0.1
DOCUMENT_ROOT => /home/jan/www
HTTP_HOST => 127.0.0.1
==============================
Buffer [27], param1=value1&param2=value2
==============================

View full thread Parameter bei SSI und CGI - oder warum funktioniert GET, POST aber nicht?