我在“域 1”上有一个脚本,它对“域 2”上的 XML 文件执行 simplexml_load_file,如下所示:
$url = 'domain2.com/file.xml';
$xml = simplexml_load_file($url);
$xmlEmail = $xml->xpath("//users/user/email");
$userEmail = implode(", ", (array) $xmlEmail);
但是,此 XML 文件包含有关用户的私有(private)信息。我不希望它可以直接访问。域 2 也会根据用户的不同而有所不同,因此我恐怕无法按实际域或 IP 进行过滤。
是否可以设置权限以使其不可被公众访问,但仍可通过 simplexml 调用读取?也许还有其他方法吗?
最佳答案
为“域 2”上的 Web 服务器设置 HTTP 基本身份验证。像这样更改 XML 文件的 url:
$url = 'http://my_username:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a3cedafcd3c2d0d0d4ccd1c7e3c7cccec2cacd918dc0ccce" rel="noreferrer noopener nofollow">[email protected]</a>/file.xml';
$xml = simplexml_load_file($url);
关于PHP - 如何读取私有(private) XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10047449/