Как защитить Flash от загрузки - PullRequest
0 голосов
/ 15 февраля 2012

Я занимаюсь разработкой сайта электронного обучения, и мы разработали наши курсы по Flash.Я хочу знать, как мы можем предотвратить загрузку наших курсов с нашего сайта. Технологией, используемой для разработки веб-сайта, является ASP.NET с C #.

Ответы [ 2 ]

0 голосов
/ 16 февраля 2012

Как уже упоминалось, пользователи должны иметь возможность загружать контент для его просмотра. Если ваши Flash-файлы являются автономными, пользователь может извлечь SWF-файлы из своего кэша и запустить их локально или отправить их на другой сервер, чтобы получить к ним доступ в Интернете.

Если содержимое в файлах Flash читается из базы данных с помощью сценария C #, что значительно усложнит репликацию структуры для пользователей.

Я не очень рекомендую этот метод, но вы можете жестко закодировать SWF-файлы для загрузки только из вашего домена, например (AS3):

var myURL:String = "http://www.mydomain.com/";
//Check to see if the SWF is being loaded from mydomain
if (loaderInfo.url.slice(0, myURL.length) != myURL) {
    //If it isn't being loaded from mydomain, remove all displayobjects from stage
    while (numChildren > 0) {
        removeChildAt(0);
    }
}

Этот ActionScript удалит все элементы со сцены и просто покажет пустую страницу, если кто-нибудь попытается загрузить SWF-файл локально или из другого домена. Я не рекомендую этого, поскольку вы жестко программируете домен в своих файлах Flash. Если вы переместите файлы в другой домен, код должен быть обновлен. Вам также нужно будет учесть различия в URL (например, https, mydomain.com, www.mydomain.com и т. Д.)

0 голосов
/ 15 февраля 2012

Если вы разрабатываете сайт электронного обучения с системой входа в систему, вы можете предоставить доступ к курсам только аутентифицированным пользователям, имеющим права на определенные курсы. Если существует неаутентифицированный / публичный запрос для файла курса (swf, html и т. Д.), То откажитесь передать этот файл клиенту.

Я уверен, что есть и другие способы сделать это, но один из них заключается в обработке этих файловых запросов в вашем Global.asax, общая идея заключалась бы в использовании "Begin_Request", что-то вроде:

void Begin_Request(object sender, EventArgs e)
{
    if (Request.FilePath.Contains("yourprotectedpathname"))
    {
        if (check session if user is not logged in or does not have access)
            {
                Server.Transfer("404.aspx");
                return;
            }

        }
    }
}

Вы хотели бы сохранить, какие пользователи имеют права на какие курсы в базе данных курса, и использовать преимущества сеансов

Как уже упоминали другие, все, что видит клиент, может быть загружено. Этот метод просто ограничил бы клиентов, которые имеют доступ к загрузке ваших курсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...