Главная » Файлы » Статьи для вебмастера » Статьи для вебмастера

Сборка защиты сайта by EsCalate для uCoz
24.06.14, 14:10:30



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

В общем не судите строго на сборку я назвал UcozCDS, конечно же глупо, ведь это статься из кучки скриптов и решений, но всё же, дайте мне ощутить себя в шкуре крутого разработчика biggrin
Итак, приступаем. Для начала я дам вам пару скриптов, которые смогут стать преградой на пути воров низкого уровня:
Начнем с 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
Категория: Статьи для вебмастера | Добавил: Apocalypse | Теги: escalate, защиты, ucoz, для, сайта, сборка, by
Просмотров: 468 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email: