Главная » Файлы » Статьи для вебмастера » Статьи для вебмастера |
Сборка защиты сайта by EsCalate для uCoz
24.06.14, 14:10:30 | |
Наверное, многие из нас думают, как же хоть немного защитить свой сайт от воровства уникального контента, дизайна, скриптов и прочих элементов, над которыми вы так напрягали свой моск, пальцы и прочие части вашего уникального тела, возможно такого же уникального, как и ваш сайт. Так вот, друзья мои, на сегодняшний день нет абсолютной защиты, но я постараюсь показать , как можно больше преград от воровства с вашего сайта. В общем не судите строго на сборку я назвал UcozCDS, конечно же глупо, ведь это статься из кучки скриптов и решений, но всё же, дайте мне ощутить себя в шкуре крутого разработчика Итак, приступаем. Для начала я дам вам пару скриптов, которые смогут стать преградой на пути воров низкого уровня: Начнем с 1 скрипта - запрета сочетаний клавиш (Ctrl+U; Ctrl+A) и правого клика. Решение было взято из официального блога TRANE73 Код <script type="text/javascript"> document.ondragstart = test; document.onselectstart = test; document.oncontextmenu = test; function test() { return false; } document.oncontextmenu; function catchControlKeys(event){ var code=event.keyCode ? event.keyCode : event.which ? event.which : null; if (event.ctrlKey){ // Ctrl+U if (code == 117) return false; if (code == 85) return false; // Ctrl+A if (code == 97) return false; if (code == 65) return false; } } </script> <script>document.onkeydown=function(a) {if(a.keyCode==85 && a.ctrlKey){alert('Просмотр исходного кода запрещен');return false}};</script> <script> function clickIE4(){ if (event.button==2){ _uWnd.alert('На сайте запрещен ПКМ с целью защиты уникально контента и дизайна сайта. Если хотите что-то скопировать - используйте Ctrl+C', 'Запрет правого клика', {w:300, h:150, name:'1w', align:'center'}); return false; } } function clickNS4(e){ if (document.layers||document.getElementById&&!document.all){ if (e.which==2||e.which==3){ _uWnd.alert('На сайте запрещен ПКМ с целью защиты уникально контента и дизайна сайта. Если хотите что-то скопировать - используйте Ctrl+C', 'Запрет правого клика', {w:300, h:150, name:'1w', align:'center'}); return false; } } } if (document.layers){ document.captureEvents(Event.MOUSEDOWN); document.onmousedown=clickNS4; } else if (document.all&&!document.getElementById){ document.onmousedown=clickIE4; } document.oncontextmenu=new Function("_uWnd.alert('На сайте запрещен ПКМ с целью защиты уникально контента и дизайна сайта. Если хотите что-то скопировать - используйте Ctrl+C', 'Запрет правого клика', {w:300, h:150, name:'1w', align:'center'});return false") </script> <noscript><meta http-equiv="refresh" content="0;URL=http://www.froleplay-game.ru/index/nojs/0-7"></noscript> а тег Код <body> заменяем на Код <body onkeypress="return catchControlKeys(event)"> Я не буду сейчас рассказывать вам, что к чему, вы не глупые - разберетесь. В крайнем случае отвечу в комментах. Кстате, оба скрипта запрещают контекстное меню - это я делал для кроссбраузерной версии. Разберем: Код <script>document.onkeydown=function(a) {if(a.keyCode==85 && a.ctrlKey){alert('Просмотр исходного кода запрещен');return false}};</script> Данный скрипт отвечает за запрет Ctrl+U (открытия исходного кода по средствам клавиш) в Google Chrome. Также, создает алерт с уведомлением. Код // Ctrl+U if (code == 117) return false; if (code == 85) return false; // Ctrl+A if (code == 97) return false; if (code == 65) return false; Эта часть 2 скрипта, отвечает за запрет комбинаций Ctrl+U( не удивляйтесь, что 1 и 2 отвечают за 1 и ту же комбинацию, 1 для хрома, 2 для др. бразуеров). По желанию можете привязать уведомления ко 2 скрипту, но я думаю это излишне. Также в паке скриптов содержится запрет на выделение для Хрома. 3 скрипт отвечает за отключение контекстного меню. Код <noscript><meta http-equiv="refresh" content="0;URL=http://www.froleplay-game.ru/index/nojs/0-7"></noscript> А этот кусок кода, также очень полезен. Если пользователь захочет обойти ява скрипт и отключит его в своем браузере, то при обновлении страницы его пошлет на веселую страничку. Можете оставить эту, а можете сделать свою = ) Главный недочет этого скрипта, в том, что если отключить жс и не обновлять страницу исходный код станет доступен, в ближайшем будущем я постараюсь найти способ, чтобы при отключении ява скрипта в браузере сразу шло перенаправление на "веселую страничку". Я не стал включать в скрипт отключение Ctrl+C, но если вам будет нужно то 2 скрипт будет выглядеть так: Код <script type="text/javascript"> document.ondragstart = test; document.onselectstart = test; document.oncontextmenu = test; function test() { return false; } document.oncontextmenu; function catchControlKeys(event){ var code=event.keyCode ? event.keyCode : event.which ? event.which : null; if (event.ctrlKey){ // Ctrl+U if (code == 117) return false; if (code == 85) return false; // Ctrl+C if (code == 99) return false; if (code == 67) return false; // Ctrl+A if (code == 97) return false; if (code == 65) return false; } } </script> В прочем я не советую вам отключать Ctrl+C ибо : 1) У пользователей сайта может начаться дикий анал файр. И это будет упадком хостов и позиций. 2) Есть более умный ход, для сохранения нужного вам контента, при этом не обременяя пользователей данной неудобной фитчей. Объясню вам про этот способ на примере своего форума. Например, у меня есть уникальный контент и я не хочу, чтобы всякие уродцы присваивали его себе. Например уникальная статья, например эта. Она лежит в теме на форуме отправленная с моего профиля, как я её могу защитить: 1)В теме на форуме я могу поставить такой вот див: Код <div onmousedown="return false;" onmouseover="window.getSelection().removeAllRanges();return false;" oncontextmenu="return false;"> Тут моё сообщение </div> Таким образом никто не сможет выделить содержимое сообщение. Так что неумехи - воры сразу упадут лицом в грязь и резко закроют ваш сайт в приступе гнева. К сожалению есть и такой подвид воров - "пытливые" ,если эти демоны захотят что-то украсть - они обязательно это сделают, если вы конечно не гений программист, который написал пхп защиту сайта. 2) Этот вариант автоматический и им пользуюсь лично я. Заходим в Вид Материалов и ищем там Код $MESSAGE$ И с легкой руки используем условные операторы, которые система Юкоз нам так любезно предоставила. Например, если вы 1 гений на сайте и только вы пишите уникальный контент, то всё довольно просто: Код <?if($USERNAME$=='Ваш ник')?> <div onmousedown="return false;" onmouseover="window.getSelection().removeAllRanges();return false;" oncontextmenu="return false;"> $MESSAGE$ </div> <?else?> $MESSAGE$ <?endif?> Вот таким вот нехитрым способом наши посты, автоматически становятся "неприкосновенными" для рук "неумех". Позже с развитием своего мозга я сделаю улучшенную версию - пользователь сам сможет выбирать хочет он, чтобы его пост выделялся или нет. Вы можете поиграть с условными операторами: Сделать для определенной группы, для нескольких, для группы людей и т.д. То же самое применимо и к вашим материалам на сайте, например каталогу файлов. Ах да, всё же советую использовать Код $USER_ID$ Вместо никнейма, а то вдруг вам приспичит сменить ник, а вы забудете про этот скрипт. Вот будет неудача, да ? - пока вы думаете, что ваш контент защищен за 7 печатями - "неумехи" нервно копипастят ваш уникальный контент. Перейдем к сл. пункту защиты сайта " Дизайна и скриптов ". Для начала, скажу, что есть куча способов конфронтации CSS в js ( груба говоря ). Так же кодирования ссылок, установка ссылок с другого сайта и их кодирование и т.д. В общем об этом я уже напишу, когда подберу для вас несколько примеров рабочих прог и самих наглядных примеров. А щас я расскажу как можно защитить скрипты, дизайн и прочие ваши манипуляции с языками. 1) Делайте как можно меньше переходов строк в коде, пример вы можете увидеть даже у Славы, его код сделан без переходов строк, так риперу будет труднее разобраться что к чему. Тоже самое делайте по отношению и жс файлам, прописывайте все функции , как можно ближе друг к другу. 2) Создайте 2 - 3 ксс файла с главными стилями сайта, хоть это и обременит загрузку страницы, но риперу также всё будет трудно разложить по полкам. 3) Не суйте все стили в ксс, оставляйте как минимум 1/4 сайта в хтмл, это также чуть-чуть увеличит подгрузку страницы, но не факт, что ваш сайт будет украден качественно. 4) Избегайте пометок в ксс, в хтмл, везде! Также избегайте стандартных названий, например: Код /_st/my.css Это только облегчит работу вора в разы. 5) Чтобы самому разбираться в кучах строк, которые вы создали по прошлым пунктам - создайте для себя файл с метками, чтобы вам было удобнее самому редактировать ваше чудо. 6)Создавайте больше интересных решений. Например: импорт с помощью гет запросов - неопытному вору, придется покапаться, чтобы сделать всё как надо. 7) Не экономьте места, создавайте как можно больше отдельных изображений - это также затрудняет риперов. 8) Старайтесь время от времени обновлять адреса файлов и путей к ним, это тоже может помочь вам, обновить свою память, а также убить пару - тройку проектов, у которых прямые ссылки на ваши файлы. 9) Как можно чаще вставляйте на главной страницы непонятной херни или простого текста с ссылками на разные страницы вашего сайта. Это , мало того, поднимет вам, как минимум несколько ТИЦ и ПР=1, но и ещё вор опять же будет рвать 5 точку, чтобы разобраться во всем этом. 10) Ну и в заключении данного списка используйте старый добрый Глобальный блок и кучу Энтеров, кто не понял, о чем - спрашиваем в комментариев. Это и по сей день пускает в ступор всех риперов - школьников. И в заключении самой статьи расскажу вам про 2 способа защиты всей страницы в целом, но минимальной ценой продвижения сайта. Используйте iframe. 1) Создаем в редакторе страниц новую страницу и кликаем в бутон "использовать персональный шаблон". 2) Редактируем шаблон этой страницы: Вставляем его iframe. У тега Код <body> убираем параметры padding и margin, а точнее снижаем их до 0. 3) Ставим в айфрем ссылку на ту страницу, которую хотим защищать от воров, предварительно задав айфрему размеры = 100%. 4) Шифруем ссылку на страницу с помощью прог. Их довольно легко найти. 5) На той странице, откуда берем ссылку на афрейм ставим скрипт перенаправления (через некоторое время, примерно 3 000 - 5 000 мили секунд) на ту страницу, где у нас стоит айфрем. Итог: 1)Ваша страница почти надежно скрыта, в это случае только опытный веб мастер сможет разобраться в настоящем расположении оригинала. 2)Та страница продолжает индексироваться и выводиться в поисковиках, как главная , например, но при заходе реального пользователя на сайт - его перенаправляет на страницу с фреймом. 3)Сама страница, в теории, отлично функционирует. Но есть и недостаток этого варианта. Он содержится в том, что догадливый демон, сможет перейти на оригинальную страницу и успеет независимо от времени прожать Вьюв соурс, но к счастью я придумал , как лишить его возможности это сделать - это собственно и есть 2 вариант. Скажу лишь 1 слово: load запрос. Да - да, наверное, не только я ужасаюсь от этого слова. А хотите ещё больше поверить в то, что ваш сайт обладает файрволом пентагона ? - Я скажу лишь 4 слова: load запрос с шифрованием ссылок. В чем отличие этого решения от прошлого ? - Для начала возможность индексации страницы на которую запрос отправляет данные. А самое главное различие в том, что load запрос не грузит все скрипты, а лишь те, которые мы указали в функции. Вы понимаете мой ход мыслей ? Суть в том, что на той страницы откуда идет перенаправление мы можем указать время , как в 2000 мили секунд ( или даже меньше ) + поставить скрипт запрета горячих комбинацийи правого, а за 2 секунды, врятли кто нибудь успеет запустить просмотр исходного кода без горячих клавиш. Но к сожалению, это лишь моя теория , на практике я её не проверял, но если я не такой дурачок, то всё должно получиться, правда это потратит времени в 3 раза больше чем обычный шаблон, но если это решение работает, я его считаю одним из самых сильных , не включая в этот список пхп. На этом, друзья мои, я заканчиваю свою статью. Очень рад, если кому - то это пригодиться. Оценивайте, критикуйте, задавайте вопросы. Источник: www.froleplay-game.ru Автор: EsCalate | |
Просмотров: 468 | Загрузок: 0 | |
Всего комментариев: 0 | |
| |