2012-12-30 30 views

回答

0
if request.env['HTTP_REFERER'] =~ /yourdomain\.com\// 
    # serve asset 
end 

注意nil =~ regex # => nil,所以你並不需要檢查是否存在request.env['HTTP_REFERER']第一。

編輯:

更多關於=〜運營商:Object#=~String#=~Regex#=~

$ irb 
> nil =~ /something/ 
=> nil 
+1

請您指出我在哪裏閱讀關於nil =〜regex#=> nil?和=〜運算符?我需要教育我自己 – simo

1

你應該確保引用鏈接具有相同的域名和你一樣,如果你有nginx的:

location ~* (\.swf)$ { 
    valid_referers blocked mydomain.com www.mydomain.com; 
    if ($invalid_referer)) { 
     return 444; 
    } 
} 
+0

我使用的紅寶石,這是一個PHP代碼? – simo

+0

這是nginx配置文件。這種工作不應該在應用程序邏輯中完成,apache/nginx會更容易,更快。 – Daniil

+0

但是,我在heroku上託管我的應用程序,我不知道這是否可能 – simo