2009-12-31 97 views
2

我目前正在构建一个在客户端呈现RSS和ATOM源的应用程序。我不能直接发送一个Ajax请求“https://stackoverflow.com/feeds/tag/php”,但我可以向我的服务器的请求,只是回声一样的XML文件:回应外部XML文件

<?php 
echo file_get_contents('https://stackoverflow.com/feeds/tag/php'); 
?> 

哪些安全隐患(如果有的话)就这样做?

回答

3

StackOverflow现在允许破解客户端获得的数据,并用恶意或烦人的东西代替它。 (公平起见,即使您能够直接使用URL,也可以。)

您的客户现在被允许导致您的服务器向StackOverflow发出大量请求,他们可能会阻止您访问网站或类似的东西。 (我确实希望你应用一点点缓存。)

0

您可能可以使用Filter functions在echo之前清理数据。一般来说,除非您从中获取数据的主机由您控制,并且不允许一般用户上传或添加将被回显的数据,否则我不会相信它。你根本不知道某人可能能够通过什么。

0

我会写一个脚本,它可以在cron上运行并获取数据并编写自己的数据库/文件系统/缓存(您的选择),并将它们分配给用户。 你永远不知道其他服务器响应速度有多慢,如果响应速度慢,也会降低你的网站速度。

-1

你必须发送

header('application/xml'); 

然后客户将处理为XML,并没有XSS可据我可以告诉发生。