Блокировка домена HTML5?


У меня есть проект, в котором мы создаем динамический видеоплеер на основе html5 с кучей элементов управления и функций Ajax. Намерение состоит в том, что этот плеер будет использоваться другими доменами. Наш старый плеер использовал flash и мог легко заблокировать домен, но теперь есть ли какой-либо способ вообще заблокировать домен в HTML5?

Имейте в виду, что это не только само видео, мы также хотим загрузить html-контент для наших элементов управления на основе ajax. Похоже, что iframe - это очевидное выбор для этого, но тогда нет способа сделать блокировку домена.

Есть идеи?

Author: Citizen, 2012-01-17

3 answers

Вы могли бы использовать функцию выше, но довольно очевидно, что она делает, поэтому любой может просто удалить блокировку домена.

Существуют службы, которые заблокируют вашу страницу на доменное имя, я знаю о двух из них с самого начала.

Jscrambler.com - это платный инструмент, но он может быть немного излишним, если все, что вы хотите сделать, это заблокировать свой домен.

Jslock.it - это бесплатный инструмент блокировки доменов, я использую его почти на всех своих сайтах проекты.

 1
Author: de Raad, 2014-09-08 16:47:47

Попробуйте прочитать заголовок РЕФЕРЕРА, и если сайт не внесен в черный список, не показывайте плеер.

 1
Author: Cysioland, 2013-02-27 10:21:55

Я пришел сюда в поисках того же самого. Но я думаю, что у меня есть готовый ответ. Лучший способ, которым я нашел софар, - это удалить местоположение.href его http://, а затем проверьте первые несколько символов для домена, внесенного в белый список. Итак:

    if(checkAllowedDomains())
    {
         initApplication();
    }
    else 
    {
         // it's not the right domain, so redirect them!
         top.location.href="http://www.snoep.at";
    }

    function checkAllowedDomains()
    {
        var allowed_domains=new Array();
        allowed_domains.push("www.snoep.at");
        allowed_domains.push("www.makinggames.nl");
        allowed_domains.push("www.google.com");
        // add whatever domain here!
        var domain=top.location.href;
        domain.replace('http://','');
        var pass=false;
        for(i=0;i<allowed_domains.length;i++)
        {
            var shortened_domain=domain.substr(2,allowed_domains[i].length);
            if(shortened_domain.indexOf(allowed_domains[i])!=-1)
            {
              pass=true;
            }
        }
    }

Этот фрагмент кода проверяет несколько разрешенных доменов, вы можете легко расширить массив. В этом и заключается проблема с кодом, он очень удобочитаем. Поэтому я бы посоветовал вам пропустить его через js-минимизатор, чтобы сделать его менее очевидным, и включить его в КАЖДЫЙ js на ваша страница. InitApplication() - это функция, которая запускает вашу страницу или приложение.

Поскольку вы удаляете местоположение http:// (которое может быть там, а может и не быть), а затем проверяете только определенную длину (включая WWW!) разрешенного домена, вы исключаете поддомены, которые могут выглядеть так: google.com.mydomain.com и бросьте чек!

Надеюсь, это поможет.

 1
Author: user2287482, 2013-09-24 10:57:24