我目前正在构建一个在客户端呈现RSS和ATOM源的应用程序。我无法直接向“https://stackoverflow.com/feeds/tag/php”发送ajax请求,但我可以向我的服务器发送一个请求,只需回复XML文件:
<?php
echo file_get_contents('https://stackoverflow.com/feeds/tag/php');
?>
这样做有什么安全隐患(如果有的话)?
答案 0 :(得分:3)
现在允许StackOverflow破解客户端获取的数据,并将其替换为恶意或恼人的内容。 (公平地说,即使您能够直接使用URL,它们也可以。)
现在允许您的客户端使您的服务器向StackOverflow发出大量请求,StackOverflow可能阻止您对该网站进行DOS操作或类似操作。 (我希望你应用一点点缓存。)
答案 1 :(得分:0)
您可以使用Filter functions在回显之前清理数据。一般情况下,除非您获取数据的主机是由您控制的,并且不允许一般用户上传或添加将被回应的数据,否则我不会相信它。你根本不知道有人能够通过什么。
答案 2 :(得分:0)
我会编写一个脚本,它将在cron上运行并获取数据并编写您自己的数据库/文件系统/缓存(您的选择),然后将它们提供给用户asychrously。 你永远不知道其他服务器响应的速度有多慢,如果它的响应速度很慢,它也会减慢你的网站速度。
答案 3 :(得分:-1)
你必须发送
header('application/xml');
然后客户端将把它作为XML处理,并且就我所知,没有XSS可以发生。