我们有一个MP3播放器,通过一个iFrame运行,而不是我们的select,但多数民众赞成我们如何坚持下去。 我们希望阻止其他人在他们的网站上embeddediframe。
什么是最好的方法来做到这一点? 我们正在运行nginx,所以没有.htaccess。 MP3播放器是由PHP文件组成,我们需要继续在iframe中运行它。
反正有locking特定的MP3播放器的PHP文件(在这种情况下html5player.php)只能够在我们的服务器或域名执行? 在nginx中肯定有办法做到这一点? 但是,当然,如果他们embedded的iFrame它会认为它是在我们的服务器运行不pipe呢?
我想到的所有解决scheme都在某个地方跌倒了,所以非常感激。
听起来像X-Frame-Options标题的作业:
add_header X-Frame-Options SAMEORIGIN;
(显然,应用于与所述文件相匹配的位置)
您也可以在PHP中添加标题,这可能会更容易。
确保只添加标题一次,否则会被某些浏览器忽略,debugging时会造成很多“乐趣”。 查看Chrome的错误报告 ,Firefox的错误报告 。
我不是NGINX的专家,但是这在理论上可以工作:
位置〜* \ urltoyourplayer?$ { valid_referers没有阻止yourdomain.fqdn; if($ invalid_referer){ 返回403; } }
这应该防止通过阅读引荐来源URL将您的播放器embedded到其他网站,如果它匹配您的域然后确定,否则返回错误403。