2012-02-15 3 views
0

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

+2

Простой. Не загружайте свои курсы на сайт. –

+2

Это похоже на вопрос, как человек сможет увидеть веб-страницу, не загружая ее. Весь веб-контент должен быть загружен для просмотра на компьютере пользователя. – scriptocalypse

ответ

0

Предполагая, что вы разрабатываете сайт электронного обучения с системой входа в систему, вы можете предоставить доступ к курсам только прошедшим проверку пользователям, имеющим права на определенные курсы. Если есть не прошедший проверку/публичный запрос для файла курса (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; 
      } 

     } 
    } 
} 

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

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

0

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

Если содержимое во флэш-файлах считывается из базы данных с помощью скрипта 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 и т. Д.)

Смежные вопросы