FLV Hotlink Protection

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • pornask
    So Fucking Banned
    • Aug 2006
    • 6518

    #1

    FLV Hotlink Protection

    What's the best solution to prevent other sites from hotlinking my .flv video? I have some websites from Turkey and China embedding their flv players, but hotlinking my videos on their websites. Are there any good scripts to take care of this? Or alternatively, could this be safely taken care of with .htaccess by any chance?
  • fris
    I have to go potty
    • Aug 2002
    • 55789

    #2
    only allow linking from your domain only
    Since 1999: 69 Adult Industry awards for Best Hosting Company and professional excellence.


    My Newest Theme

    Comment

    • pornask
      So Fucking Banned
      • Aug 2006
      • 6518

      #3
      how do I do that? I know how to do image files, but not sure how to take care of .flvs

      Comment

      • Sands
        Confirmed User
        • Feb 2007
        • 3134

        #4
        My recent research has led me to the conclusion that hotlink protection for Flash video files is quite difficult as Flash video players do not send referrer information when they access the video. If I'm not mistaken, .htaccess depends on this referring information to determine whether or not the video is being hotlinked.

        Your best option, given the above information is accurate, is to seek out and implement some streaming video solution as they normally afford you hotlinking protection.

        Outside of this, you will probably want to obfuscate the link to your videos (such as using www.domain.com/stream.php?video_id=X as the URL for the video) and/or implement some solution where the names of your video files are changed at certain invervals.

        Hopefully someone more knowledgeable than myself will chime in.

        Comment

        • nation-x
          Confirmed User
          • Mar 2004
          • 5370

          #5
          Use wowza

          Comment

          • Zorgman
            Confirmed User
            • Aug 2002
            • 6103

            #6
            Dump for the htaccess answer.
            ---

            Comment

            • TheSenator
              Too lazy to set a custom title
              • Feb 2003
              • 13330

              #7
              It is difficult....I change the name of my files periodically.
              ISeekGirls.com since 2005

              Comment

              • pornask
                So Fucking Banned
                • Aug 2006
                • 6518

                #8
                Originally posted by TheSenator
                It is difficult....I change the name of my files periodically.
                That's what I resorted to now that I've seen how much fucking bandwith they'd wasted. Especially the Chinese fuckers

                I'm still hoping there's a script that works well enough for this

                Comment

                • Phil21
                  Confirmed User
                  • May 2001
                  • 993

                  #9
                  There are many modules for Apache, lighttpd, etc. that do this for you.

                  .htaccess (mod_rewrite used for referrer blocking) is not an option for blocking FLV's, or really any video whatsoever.

                  It depends on your server setup and configuration which modules can be used, and how hard said modules are to implement.

                  The most basic and easiest way is if the videos are only to be accessed from your domain(s), and you can make a rule such as "unless the visitor has visited page X in the last 15 minutes, deny all video loads for them".

                  From there, you can do more complicated things such as have your application link to videos with a secure token in the URL, etc. This would require some form of application modifications however. More and more apps are starting support this.

                  If you also need to support embeds in random websites, it gets a lot harder to "filter" good traffic from bad. You can setup mod_geoip to do most of what you like most likely, but we have run into some customers who want quite a bit of complex rulesets made - so sometimes it can be difficult.
                  Quality affordable hosting.

                  Comment

                  • fris
                    I have to go potty
                    • Aug 2002
                    • 55789

                    #10
                    i tried this via htaccess

                    direct link http://www.domain.com/video.flv (blocks it)
                    wget link (blocks it)
                    embed from a player on another server (blocks it)
                    download manager (blocks it)

                    Code:
                    Options +FollowSymLinks
                    RewriteEngine On
                    RewriteCond {HTTP_REFERER} !^(http://(www\.)?domain\.com(/.*)?)?$ [NC]
                    RewriteRule \.(flv|mpg|wmv)$ - [NC,F,L]
                    Since 1999: 69 Adult Industry awards for Best Hosting Company and professional excellence.


                    My Newest Theme

                    Comment

                    • k0nr4d
                      Confirmed User
                      • Aug 2006
                      • 9231

                      #11
                      mod_secdownload...
                      Mechanical Bunny Media
                      Mechbunny Tube Script | Mechbunny Webcam Aggregator Script | Custom Web Development

                      Comment

                      • Antonio
                        Too lazy to set a custom title
                        • Oct 2001
                        • 14136

                        #12
                        Originally posted by pornask
                        That's what I resorted to now that I've seen how much fucking bandwith they'd wasted. Especially the Chinese fuckers

                        I'm still hoping there's a script that works well enough for this
                        all flvs in one folder and change the folder name periodically rahter than each file's name, better yet if your script can do this

                        Comment

                        • pornask
                          So Fucking Banned
                          • Aug 2006
                          • 6518

                          #13
                          Originally posted by fris
                          i tried this via htaccess

                          direct link http://www.domain.com/video.flv (blocks it)
                          wget link (blocks it)
                          embed from a player on another server (blocks it)
                          download manager (blocks it)

                          Code:
                          Options +FollowSymLinks
                          RewriteEngine On
                          RewriteCond {HTTP_REFERER} !^(http://(www\.)?domain\.com(/.*)?)?$ [NC]
                          RewriteRule \.(flv|mpg|wmv)$ - [NC,F,L]

                          I'm gonna give this a try. Being a complete newb, I take it "domain" is to be replaced with my domain name (the only domain name that will be allowed to play these files) and trailing slashes retained as in example, right? i also take it this .htaccess file is to be uploaded in the directory where files are stored, right?

                          Comment

                          • pornask
                            So Fucking Banned
                            • Aug 2006
                            • 6518

                            #14
                            Fris, I've tested some of the things and it seems to work fine on those. Will do some more testing, just had quick question - what line would I need to add to it in order to allow one more external domain name to play back the videos (in other words, both local plus one more domain name would be allowed to play it back).

                            Comment

                            • darksoul
                              Confirmed User
                              • Apr 2002
                              • 4997

                              #15
                              Originally posted by fris
                              i tried this via htaccess

                              direct link http://www.domain.com/video.flv (blocks it)
                              wget link (blocks it)
                              embed from a player on another server (blocks it)
                              download manager (blocks it)

                              Code:
                              Options +FollowSymLinks
                              RewriteEngine On
                              RewriteCond {HTTP_REFERER} !^(http://(www\.)?domain\.com(/.*)?)?$ [NC]
                              RewriteRule \.(flv|mpg|wmv)$ - [NC,F,L]
                              Thats because your ruleset denies all requests without an HTTP_REFERER,
                              you are going to block a lot of legit requests with that.
                              1337 5y54|)m1n: 157717888
                              BM-2cUBw4B2fgiYAfjkE7JvWaJMiUXD96n9tN
                              Cambooth

                              Comment

                              • PowerCum
                                CjOverkill
                                • Apr 2003
                                • 1328

                                #16
                                There are several ways to do it.

                                Of course, since I also run tube sites I am not interested in telling you how and make you a viable competition.

                                Hire a coder/server admin or research it by yourself.
                                CjOverkill Traffic Trading Script
                                Free, secure and fast traffic trading script. Get your copy now

                                Comment

                                • wizzart
                                  scriptmaster
                                  • May 2006
                                  • 5246

                                  #17
                                  what script you use, that don't have hotlink protection?
                                  BimboZone

                                  Comment

                                  • fris
                                    I have to go potty
                                    • Aug 2002
                                    • 55789

                                    #18
                                    Originally posted by darksoul
                                    Thats because your ruleset denies all requests without an HTTP_REFERER,
                                    you are going to block a lot of legit requests with that.
                                    doesnt this only permit domain.com to show the videos or else it blocks it?

                                    if not domain.com as refer then 403?

                                    i only want to display it on domain.com
                                    Since 1999: 69 Adult Industry awards for Best Hosting Company and professional excellence.


                                    My Newest Theme

                                    Comment

                                    • just a punk
                                      So fuckin' bored
                                      • Jun 2003
                                      • 32385

                                      #19
                                      There is no way to protect FLV files on 100%. Every method (including cookies, obfuscated names etc) can be easily hacked if someone needs it.
                                      Obey the Cowgod

                                      Comment

                                      • just a punk
                                        So fuckin' bored
                                        • Jun 2003
                                        • 32385

                                        #20
                                        So if you are a tube owner - get ready to be ripped off.
                                        Obey the Cowgod

                                        Comment

                                        • darksoul
                                          Confirmed User
                                          • Apr 2002
                                          • 4997

                                          #21
                                          Originally posted by fris
                                          doesnt this only permit domain.com to show the videos or else it blocks it?

                                          if not domain.com as refer then 403?

                                          i only want to display it on domain.com
                                          You are right about that.
                                          The problem with flv players is that they don't send a HTTP_REFERER (just like the old movie problem) and you will be blocking legitimate requests.
                                          This is the reason scripts like antihotlinking, traffic guardian and the like were created.
                                          1337 5y54|)m1n: 157717888
                                          BM-2cUBw4B2fgiYAfjkE7JvWaJMiUXD96n9tN
                                          Cambooth

                                          Comment

                                          • NemesisEnforcer
                                            Confirmed User
                                            • Aug 2003
                                            • 2122

                                            #22
                                            Originally posted by pornask
                                            That's what I resorted to now that I've seen how much fucking bandwith they'd wasted. Especially the Chinese fuckers

                                            I'm still hoping there's a script that works well enough for this
                                            I don't know how much bandwidth is costing you but check out LinkSentinel or contact them about your needs. They do custom work as well.
                                            The Only Time When Success Comes Before Work Is In A Dictionary.

                                            Did you ever notice: When you put the 2 words 'The' and 'IRS' together it spells 'Theirs.'

                                            Comment

                                            • nation-x
                                              Confirmed User
                                              • Mar 2004
                                              • 5370

                                              #23
                                              http://www.axscripts.com/mod_antihotlink/

                                              Comment

                                              • quantum-x
                                                Confirmed User
                                                • Feb 2002
                                                • 6863

                                                #24
                                                Originally posted by Sands
                                                My recent research has led me to the conclusion that hotlink protection for Flash video files is quite difficult as Flash video players do not send referrer information when they access the video. If I'm not mistaken, .htaccess depends on this referring information to determine whether or not the video is being hotlinked.

                                                Your best option, given the above information is accurate, is to seek out and implement some streaming video solution as they normally afford you hotlinking protection.

                                                Outside of this, you will probably want to obfuscate the link to your videos (such as using www.domain.com/stream.php?video_id=X as the URL for the video) and/or implement some solution where the names of your video files are changed at certain invervals.

                                                Hopefully someone more knowledgeable than myself will chime in.
                                                Flash ALWAYS sends player/verion information along with it, including referer header information [at least, the last time I checked]. It's not possible to remove this from within the flash itself, the headers are fixed.

                                                You don't want to change your filenames, what you want to do is this.
                                                When you embed your videos, feed a hash into the player.
                                                This hash will be either a] time locked, or b] 1 time only [ie, stored in a db]
                                                The player, when it goes to load the video, will send the original hash, and modified [xoring is easiest] version of the hash.

                                                When the request comes to play the file, if the first hash and second hash aren't present or aren't matching as they should be, the file simply doesn't play.

                                                There are other steps to take from here, keeping your hash system well salted, encrypting your SWF file [to prevent your xor algo getting cracked]

                                                This is not the only way. There are quite a few others, such as:
                                                1 - Set a session when the visitor hits your page. No session, no play.
                                                2- Whitelist the person's IP when they hit your page, for ~30 seconds to play a video.
                                                No whitelist, no play.

                                                There are heaps of ways of doing this
                                                Last edited by quantum-x; 03-24-2009, 06:56 AM.
                                                PrettyInCash.com - BoozedGFs.com - TeenGFs.com - JizzGFs.com- MilfUploads.com -

                                                Comment

                                                • quantum-x
                                                  Confirmed User
                                                  • Feb 2002
                                                  • 6863

                                                  #25
                                                  Originally posted by cyberxxx
                                                  There is no way to protect FLV files on 100%. Every method (including cookies, obfuscated names etc) can be easily hacked if someone needs it.
                                                  Well, as a general rule, if you can play it, you can steal it, but there are good ways to prevent hotlinking.
                                                  PrettyInCash.com - BoozedGFs.com - TeenGFs.com - JizzGFs.com- MilfUploads.com -

                                                  Comment

                                                  • darksoul
                                                    Confirmed User
                                                    • Apr 2002
                                                    • 4997

                                                    #26
                                                    Originally posted by quantum-x
                                                    Flash ALWAYS sends player/verion information along with it, including referer header information [at least, the last time I checked]. It's not possible to remove this from within the flash itself, the headers are fixed.
                                                    I had to double check to make sure, I'm not seeing it:
                                                    Code:
                                                    127.0.0.1 - - [24/Mar/2009:09:52:36 -0500] "GET /flvideo/1.flv HTTP/1.0" 200 4765368 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.7) Gecko/2009030422 Ubuntu/8.04 (hardy) Firefox/3.0.7"
                                                    1 - Set a session when the visitor hits your page. No session, no play.
                                                    2- Whitelist the person's IP when they hit your page, for ~30 seconds to play a video.
                                                    No whitelist, no play.
                                                    Yeah, this is pretty much the best idea* as long as by session you're not referring to a browser session.

                                                    * - it can be tricked with frames so you will need to break out of frames
                                                    and with image preloading, you can use the standard mod rewrite protection for this.
                                                    1337 5y54|)m1n: 157717888
                                                    BM-2cUBw4B2fgiYAfjkE7JvWaJMiUXD96n9tN
                                                    Cambooth

                                                    Comment

                                                    • quantum-x
                                                      Confirmed User
                                                      • Feb 2002
                                                      • 6863

                                                      #27
                                                      Originally posted by darksoul
                                                      I had to double check to make sure, I'm not seeing it:
                                                      Code:
                                                      127.0.0.1 - - [24/Mar/2009:09:52:36 -0500] "GET /flvideo/1.flv HTTP/1.0" 200 4765368 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.7) Gecko/2009030422 Ubuntu/8.04 (hardy) Firefox/3.0.7"
                                                      That's a browser request.
                                                      Check the headers. Just cap'd this.

                                                      Code:
                                                      GET /video.php?file=SNIPSNIP HTTP/1.1
                                                      Accept: */*
                                                      Accept-Language: en-US
                                                      Referer: http://members3.site.com/flash/flvplayer.swf
                                                      x-flash-version: 10,0,12,36
                                                      UA-CPU: x86
                                                      You *cannot* unset x-flash-version, UA-CPU or Referer in flash.

                                                      I personally like the rolling hash + timebombed URLs. If you make them last for say 5 plays or 1 hour, people add them to their tubes and forget about them, then they end up w/ broken URLs ;)
                                                      PrettyInCash.com - BoozedGFs.com - TeenGFs.com - JizzGFs.com- MilfUploads.com -

                                                      Comment

                                                      • pornask
                                                        So Fucking Banned
                                                        • Aug 2006
                                                        • 6518

                                                        #28
                                                        Originally posted by PowerCum
                                                        There are several ways to do it.

                                                        Of course, since I also run tube sites I am not interested in telling you how and make you a viable competition.

                                                        Hire a coder/server admin or research it by yourself.
                                                        I'm not a tube owner. I own a blog and have three videos on it that I'm hosting myself. I don't pose a "competition" threat to anyone here. I'm focusing more and more on mainstream and blog in question is NOT an adult blog either. However I prefer to host my content myself, including pictures and videos so I don't have broken shit on my pages if owner of the video deletes it (even if we're talking youtube or liveleak). That's why I'm hosting my own videos. But fuck - I get a lot of bandwidth wasted by Chinese and Turkish fuckers and get nothing out of it in return, that's why I've asked if there was a way to eliminate this BW theft.

                                                        Comment

                                                        • pornask
                                                          So Fucking Banned
                                                          • Aug 2006
                                                          • 6518

                                                          #29
                                                          Originally posted by cyberxxx
                                                          So if you are a tube owner - get ready to be ripped off.
                                                          Not a tube owner, just an innocent blog with a couple of posts that contain videos is all. I have never owned a tube and don't plan on. However even if one of your videos gets hotlinked by a busy Chinese site, it eats up a lot of BW. I'm looking around for a solution to help me eliminate it.

                                                          Comment

                                                          Working...