问题描述
|
我必须发送XML请求以从远程服务器恢复数据并使用PHP对其进行解析。这么多,我设法做到了。问题是,我从远程服务器获取的XML看起来像这样:
<info user=\"user\" password=\"password\" session=\"session\">
<data value=\"8\" />
<data date=\"...\" />
如果有人要查看我网站上的源代码,他们会看到上面所有代码,包括第一个标签中包含的敏感用户名和密码数据,我有什么办法可以隐藏它?
这是我用来恢复和解析数据的代码:
<?PHP
$url = \'http://www.whereigetmyxml.com\';
$ch = curl_init();
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_URL,$url);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
$xml = simplexml_load_file($url);
$myData = $xml->data[1][\'date\'];
echo $myData;
?>
谢谢!
解决方法
您似乎正在执行两个请求:
这将加载xml并输出所有内容:
$ch = curl_init();
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_URL,$url);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
这将再次加载它并仅输出所选零件:
$xml = simplexml_load_file($url);
$myData = $xml->data[1][\'date\'];
echo $myData;
第一部分检索所有XML,并对其进行回显。这不是必需的,可以删除。
, 如果有人在浏览器上执行“查看源代码”,则他们看不到PHP代码,只能看到PHP生成的HTML。这真的不是问题。
\'View Source \'是指HTML源代码,而不是创建它的源代码。这些天来,实际上它的名字很糟糕,“ source”太含糊了;它可能应该被称为\'View Markup \'或类似的名称,浏览器甚至无法看到真实的\'source \'。
, 如果需要将数据发送到客户端(浏览器),则客户端始终可以看到它。
如果您正在将密码发送回客户端,并且这是一个安全问题(请确保听起来像这样),则必须更改应用程序的工作方式,而不是想办法向用户隐藏密码(从理论上讲这是不可能的) 。