PHP - 如何读取私有(private) XML 文件?

标签 php xml permissions simplexml

我在“域 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);

mod_auth_basic for Apache

关于PHP - 如何读取私有(private) XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10047449/

相关文章:

php - 动态输入数据库

php - 如何在 mysql 查询的 'IN' 子句中使用 PHP 中的值数组?

php - PrestaShop 模块页面加载速度非常慢

java - 通过 ID 获取两种类型元素的节点列表的正确 XPath 语法

xml - Powershell:搜索用 CSV 替换 XML

linux - svn+apache per directory access control - 禁止root修改权限文件

apache - Apache 的 Vagrant 同步文件夹权限问题

linux - 贝加尔湖需要特定文件夹的写入权限

php - Windows 10 和 XAMPP

xml - 在 HTML5 中,为什么 <img> 标签需要一个结束斜杠或一个结束标签?