检查SOAP中的请求脚本URL

时间:2014-10-31 11:23:44

标签: php soap

我有非常基本的SOAP服务器:

$soap = new SoapServer(null, array('uri' => ''));

$soap->addFunction('myFunction');

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $soap->handle();
} else {
    echo "Available functions:";
    foreach ($soap->getFunctions() as $func) {
        echo "\n\t" . $func;
    }
}

现在,我有一组特定的域名(我拥有),我希望从中获得请求,而没有其他域名 - 比如数组:

$allowed_domains = array('http://www.example.com', 'http://www.otherexample.com');

我如何创建白名单',因为只有那些域实际上可以向此soap服务器脚本发出请求(其他任何人都将被拒绝访问)?

谢谢!

1 个答案:

答案 0 :(得分:0)

支票可以如下:

if(!in_array($_SERVER['HTTP_REFERER'], $allowed_domains) {
    // operation is denied
    exit 0;
}

希望有助于:)