我使用CGI脚本调用使用Apache 2.4.41的Java程序。 脚本如下:
#!usr/bin/bash
java
-Dcgi.content_type=$CONTENT_TYPE
-Dcgi.content_length=$CONTENT_LENGTH
-Dcgi.request_method=$REQUEST_METHOD
-Dcgi.query_string=$QUERY_STRING
-Dcgi.server_name=$SERVER_NAME
-Dcgi.server_port=$SERVER_PORT
-Dcgi.script_name=$SCRIPT_NAME
-Dcgi.path_info=$PATH_INFO
-Dcgi.http_cookie=$HTTP_COOKIE
-classpath /home/be
cgi.UserEndpointCGI
客户端向端点发送自定义标头,以告知服务器请求哪个函数。标头包含键值:
Y-Request: function_name
问题是我不知道如何检索Y-Request: function_name
标题字段,并且无法在网上找到答案。
从你的例子来看,这是你如何使用任意标头的
-Dcgi.http_cookie=$HTTP_COOKIE
标头Y-Request
必须在变量HTTP_Y_REQUEST
中可用。
你CGI脚本有很大的安全性,有人可以注入arbritrary shell命令,你必须引用所有变量的用法。
-Dcgi.http_cookie="$HTTP_COOKIE"