我正在使用PHP代理脚本将图片从Facebook加载到Flash中,而没有任何沙箱冲突。它取自这里的指南:http://www.permadi.com/blog/2010/12/loading-facebook-profile-picture-into-flash-swf-using-open-graph-api/。相关的PHP代码如下:
<?php
$path=$_GET['path'];
if (stristr($path, "fbcdn.")==FALSE && stristr($path, "facebook.")==FALSE)
{
echo "ERROR";
exit;
}
header("Content-Description: Facebook Proxied File");
header("Content-Type: image");
header("Content-Disposition: attachment; filename=".$path);
@readfile($path);
?>该指南提到,对于真实世界的应用程序,建议使用额外的安全措施。有哪些额外的措施可以应用于此?也许是某种从Flash传递到PHP的密钥?
我意识到我不能做什么来完全保护Flash不被反编译,但是我能防止脚本被恶意使用吗?
发布于 2011-05-19 20:04:46
您应该限制代理从Facebook获取图像文件。您当前的“保护”将允许例如这个URL:http://virus.provider.com/fbcdn./virus.exe
$_SERVER['HTTP_REFERER']的检查,以降低使用脚本进行热链接的动机。如果HTTP_REFERER不是空的,请检查它是否真的是您的站点。这将在很大程度上保护你免受带宽窃贼的侵扰。还可以考虑在代理服务器上缓存文件数据,以加快对同一文件的多次调用。
以下是需要牢记的几件事。如果你多花点心思,你可能会发现更多。
https://stackoverflow.com/questions/6058273
复制相似问题