小心使用 SOAP_FUNCTIONS_ALL,因为它会将所有可用的 PHP 函数添加到您的服务器。
这可能是一个潜在的安全威胁,想象一下客户这样做
echo $client->file_get_contents("c:\\my files\\my_passwords.doc");
瞧,他们就获得了您的文件 my_passwords.doc 的内容。
(PHP 5, PHP 7, PHP 8)
SoapServer::addFunction — 添加一个或多个函数来处理 SOAP 请求
functions
要导出一个函数,请将函数名作为字符串传递给此参数。
要导出多个函数,请传递一个包含函数名的数组。
要导出所有函数,请传递一个特殊的常量 SOAP_FUNCTIONS_ALL
。
注意:
functions
必须以 WSDL 文件中定义的相同顺序接收所有输入参数(它们不应接收任何输出参数作为参数)并返回一个或多个值。要返回多个值,它们必须返回一个包含命名输出参数的数组。
不返回值。
示例 #1 SoapServer::addFunction() 示例
<?php
function echoString($inputString)
{
return $inputString;
}
$server->addFunction("echoString");
function echoTwoStrings($inputString1, $inputString2)
{
return array("outputString1" => $inputString1,
"outputString2" => $inputString2);
}
$server->addFunction(array("echoString", "echoTwoStrings"));
$server->addFunction(SOAP_FUNCTIONS_ALL);
?>
小心使用 SOAP_FUNCTIONS_ALL,因为它会将所有可用的 PHP 函数添加到您的服务器。
这可能是一个潜在的安全威胁,想象一下客户这样做
echo $client->file_get_contents("c:\\my files\\my_passwords.doc");
瞧,他们就获得了您的文件 my_passwords.doc 的内容。