В прошлом году (когда я учился в 9-м классе) писал работу для Малой Академии Наук Украины, где занял 3-тее место в районе, вот теперь решил опубликовать ее здесь. Хочу сразу предупредить, работа не насыщена сложными терминами и тех. моментами, поскольку писалась для людей достаточно отдаленных от IT-технологий (работу у меня принимали люди которым явно за 50).
Введение.
На данный момент сеть Интернет содержит множество сайтов, порталов и других Интернет ресурсов. Почти все «веб-дизайнеры», администраторы и владельцы Интернет ресурсов задаются вопросом — «Как защитить мой Интернет ресурс от взлома, плагиата графического дизайна и другое?». Сейчас существует много способов атаки сайта и похищения изображений и т.д… Но также есть и достаточное количество способов защиты сайта. Именно об этих способах и пойдет речь в данной работе. Здесь мы попытаемся осветить некоторые из этих способов и проверить их работоспособность и пользу для сайта.
Целью данного исследования является доказать или опровергнуть определенные виды защиты сайта. Мы осветим способа защиты сайта от хакерских атак, спама, и способах защиты дизайна сайта от плагиата.
Общий анализ на момент исследования.
Все способы защиты были проверены на специально сделанном для этого сайте. Он находится на сервере компании «Ucoz» которая обеспечивает роботоспособнисть сайта и неплохо защищает тот от взлома. Сейчас так называемый «Юкоз» является самым популярным сервером для создания сайта.
На форуме техподдержки хостера есть очень большое количество сообщений о взломы сайтов. После опроса владельцев интернет ресурсов, я пришел к выводу, что «Юкоз» не обеспечивает надежной защиты сайта от взлома. Даже использование сложных паролей и скриптов, не дает полной защиты. Далее мы рассмотрим некоторые из способов защиты сайтов от различных угроз. Для начала рассмотрим защита сайта от хакерских атак. Основным методом атаки сайта хакерами, является или подбор пароля к системе администрирования, или полное удаление всех ресурсов сайта (внутренних файлов из корня сайта).
Но в некоторых случаях целью хакера является кража дизайна сайта. Не опытные веб-мастера применяют простые Java-скрипты, которые блокируют правую кнопку мыши.
Защита от SQL-инекции
Самый простой способ защиты от SQL-инъекции — вставлять параметры SQL-запроса одиночными лапками ('), поскольку через GET-і POST-запрос не возможно передать символ одиночной лапки (он будеи автоматически изменен соеденением символов -\' - тобиш экранироваться).
SELECT * FROM `table_name` WHERE `param` = '$ param_name' ORDER BY `sort` ASC;
SQL-запрос в случае инъекции будет выглядеть примерно так:
SELECT * FROM `table_name` WHERE `param` = '10 union select 1,2,3 / * 'ORDER BY `sort` ASC;
Также, никогда не сохраняйте пароли в базы данных в открытом виде, обязательно приводить их (например, функцией sha1). С помощью SQL-инъекции легко «достать» данные из базы данных, а если они будут зашифрованы, то есть велика вероятность того, что злоумышленник не сможет ими воспользоваться.
Для обеспечения конфиденциальности логина и пароля для доступа к базе данных, функции подключения к базе данных лучше хранить в отдельном файле и подключать его в каждой странице сайта.
Так же, отключение вывода на экран ошибок, возникших при неправильном запросе, сильно усложняет задачу злоумышленнику. Что бы отключить вывод ошибок достаточно написать следующее (например, в файле подключения базы данных):
ini_set ('display_errors', '0 ');
Старайтесь проверять результат каждого выполняемого запроса на выполнение и количество найденных записей. Если это число равно нулю, перенаправляет пользователя, например, на главную страницу, это обеспечит хорошую защиту от SQL-инъекций.
Если Ваш сайт не содержит разделов, в которых производится запись и редактирование строк в базе данных, то необходимо в пользовательской базы данных, под которым происходит соединение с базой, отключить все права, кроме права на чтение данных. По-умолчанию, у пользователя базы данных являются права и на удаление, и на редактирование. Для разделов сайта, требующих больших прав, например книга отзывов или форум стоит завести отдельного пользователя, у которого будет право на редактирование только конкретной таблицы. А для системы управления сайтом необходимо завести отдельного пользователя базы данных, так как ему необходимы полные права.
Все описанные выше способы не гарантируют стопроцентной защиты от SQL-инъекций, однако, предотвратят их в подавляющем большинстве случаев.
DoS-атака
Отказ от обслуживания, распределенный отказ от обслуживания (англ. DoS, DDoS, (Distributed) Denial-of-service) — нападение на компьютерную систему с намерением сделать компьютерные ресурсы недоступны для пользователей, для которых компьютерная система была предназначена.
Одним из распространенных методов нападения является проникновение атакованного компьютера или сетевого оборудования большим количеством внешних запросов (часто бессмысленных или неверно сформированных) так, что атаковано оборудование не может ответить ее пользователям, или отвечает так медленно, что становится фактически недоступным. Вообще отказ сервиса осуществляются:
§ принуждением атакованного оборудования остановить работу программы или оборудование или потратить имеющиеся ресурсы, так что оборудование не может продолжать работу;
§ занятием коммуникационных каналов между пользователями и атакованным оборудованием, так что качество соединения перестает соответствовать требованиям.
Если атака происходит одновременно с большого количества IP-адресов, то в ее называют распределенной (DDoS).
Методы борьбы
Опасность большинства DDoS-атак — в их абсолютной прозрачности и «нормальности». Ведь если ошибка в ПО всегда может быть исправлена, то полное зжирання ресурсов — явление почти обыденное. С ними сталкиваются многие администраторы, когда ресурсов машины (ширина канала) становится недостаточно, или web-сайт подвергается слешдот-эффекта. И если резать трафик и ресурсы для всех подряд, то спасешься от DDoS, но потеряешь большую половину клиентов.
Выхода из этой ситуации фактически нет, однако последствия DDoS-атак и их эффективность можно существенно снизить за счет правильной настройки маршрутизатора, брандмауэра и постоянного анализа аномалий в сетевом трафике.
Также за помощь и подобных скриптов можно запретить выделять текст. Но это не интересно, и углубляться в эти способы мы не будим. В данный момент мы рассмотрим способ защиты графических изображений сайта.
Защита картинки (способ 1)
Создается «листовая» картинка в таблице. Идея в том, чтобы позволить посетителю страницы сохранять картинки, только взамен он видит, совсем другие изображения, например, прозрачные. Для изготовления такой картинки понадобится любой HTML-редактор, для не особых знатоков разметки гипертекста лучше воспользоваться Dreamweaver. Создаем таблицу с одной ячейкой, по размерам совпадает с нашей картинкой, и вставляем последнюю в качестве фона таблицы (или ячейки). В эту таблицу вставляем точно такую же еще одну таблицу, а уже в последнюю — прозрачный gif -файл (имя картинки и имя прозрачного gif-файла нужно сделать почти одинаковыми на вид). Если этот метод вас устраивает, а создавать таблицы с картинками вручную нет желания, вы можете воспользоваться специальной программой для создания слоев — например, Cool Page.
Защита картинки (способ 2)
Идея в том, что бы порезать картинку на кусочки. Изображение разрезается на множество сегментов, каждый из которых затем вставляется в таблицу. В этом случае тому, кто захочет эту картинку восстановить, придется сохранять каждый сегмент в виде отдельного файла и затем «сшить» в одном из графических редакторов. При большом числе фрагментов разбиения желание похитить картинку у кого-то может пропасть окончательно. При автоматизации такого способа можно воспользоваться функцией автоматической разрезки изображений, имеющейся в некоторых графических редакторах. в Ulead PhotoImpact можно разрезать картинку на нужное количество частей и сохранить результат в HTML. При этом генерируется таблица, которую можно экспортировать в Dreamweaver, настроить там ее внешний вид, после чего вставить полученный код в свою веб-страницу.
Необходимо обратить внимание на то, что от копирования картинок с помощью кнопки клавиатуры Print Screen выше описаные способы не спасут, поэтому рекомендуется публиковать картинки с приемлемым качеством для комфортного просмотра, но не приемлемым для их коммерческого использования.
Теперь нужно более подробно разобраться в защите и сокрытием исходного HTML кода страницы. Я знаю по себе, что страница которая имеет большое количество скриптов и сложных кодов представляет собой большую ценность. Так например скрипт для форумных-ролевых игр, который в зависимости от количества сообщений пользователя, дает ему определенное снаряжение. Такой скрипт является платным, но многие полбзователи пытаються получить его бесплатно. Для просмотра кода страницы, достаточно воспользоваться интернет браузером «Google Chrome» или «Mozilla Firefox», которые предоставляют свободный доступ к коду. От браузера «Chrome» можно попробовать защититься скриптом, блокировка правой кнопки мыши. Но для опытного пользователя, это не является преградой. Поэтому существую достаточно надежный способ скрыть свой код — это шифрование кода страницы.
Шифрование — задача весьма непростая, полное описание которой займет не одну статью, поэтому ниже обозначены способы, предназначениие для демонстрации основных принципов и не являются готовыми к использованию решениями.
Использование компилятора perl2exe
Самый простой способ защиты кода это использование компилятора perl2exe (Windows), который создает из кода обычный исполняемый файл. Для пожалуй, одного из самых популярных в Рунете языка сценариев Perl, одним из вариантов сокрытия исходных кодов стала возможность компилирования кодов в исполняемый формат PE-exe для win32, ELF для Linux. Такая утилита для компиляции, и называется Perl2Exe, предоставляется компанией сторонних разработчиков IndigoStar Software.
В этом случае самый элементарный способ (и наиболее часто используемый) — зашифровать программу, поместить ее в переменную, а в конце поставить расшифровщик. Но, несмотря на то, что авторы утилиты Perl2Exe не предоставляют ее исходных кодов, поэтому найти инженерный пароль в автоматическом режиме невозможно, даже с помощью разного рода хакерских программ. И говорить о криптографической стойкости подобного шифрования бессмысленно, поскольку ключ к шифру находится рядом с самым шифром. (Что только увеличит размер вашей зашифрованной страницы). Такое изменение программы легко можно остановить.
Удаление синтаксических символов и добавление фрагментов.
Наибольший интерес представляют необратимые изменения кода. Частично таким является удаление всех переводов строк, комментариев, лишних скобок и пробелов из кода — в общем, все «ненужного», что было там только для повышения читабельности. Это необратимо лишь частично, поскольку некоторые редакторы могут автоматически расставить переводы строк и табуляторы.
Можно вставлять в код бессмысленные куски, которые ничего не делают (чаще всего этот метод применяется в комбинации с удалением «ненужного»).
В идеале эти бессмысленные куски должны быть разнообразными и похожими на окружающее их код, чтобы их было сложнее распознать.
Последний и, пожалуй, самый простой способ шифрования для веб-мастеров сайтов.
Шифрование HTML кода с использованием сервиса www.ph4.ru/wm_html2js.ph4, который превращает все не латинские символы HTML кода (кроме точки, запятые, знаки вопроса и двоеточия) в коды символов UNICODE.
Пример:
Оригинал:
В UNICODE :
Там же сервис выдает окончателный код, который вставляется в вашу страницу:
Но и у этого спосаба есть свои минусы — некоторые пользователи интернета, иногда выключают в браузере поддержку Java-скрипт, и поэтому страница закодирована таким образом, у него отображаться не будет.
Также достаточно велика проблема защиты графических изображений сайта или элементов дизайна, а в некоторых случаях и всего дизайн. Я лично всегда пытаюсь защитить свои работы, которые выставляю в свободный доступ в сети. В данный момент, среди пользователей интернета преобладают люди, возраст которых от 10 и до 35 лет. Очень большое количество молодых администраторов сайтов, хотят иметь понравившийся им дизайн чужого сайта. В данный момент, почти никто не защищает свои интернет-проекты авторскими правами, потому что для этого нужно время, и деньги. Поэтому если вы не очень известный дизайнер, и вашу работу переделали — смерится, вы никогда, никому ничего не докажете — также проверено на собственном опыте. На все дизайны ставят копирайты внизу. Поэтому их скритие не является ни для кого тайной. Одним из способов сохранения копирайта является использование просто Java-скрипта, о котором мы сейчас и поговорим.
Проблема защиты наших страниц состоит в том, что мы пишем на клиентском языке, который доступен каждому… Конечно, изложенный ниже скрипт не спасет если человек понимает в JavaScript хоть немного, но какой то процент копирайтов все же останется на месте. Код пытался сделать можно менее понятным, заметным и объемным.
Подчеркнут так называемый селектор. Именно в отсутствие которого, шаблон откажется работать и переправит пользователей на главную страницу автора шаблона.
Настройки селектора:
Формат записи: имя_тега [имя_параметра = «значение»]
например:
a [href = «www.*******.ru/»]
img [src = «ссылка на логотип»]
Но, как уже было сказано выше, он не всегда помогает.
Также немало важна защита каскадной таблицы стилей сайта. Каскадные таблицы стилей (англ. Cascading Style Sheets или сокращенно CSS) — специальный язык, используемый для отображения страниц, написанных на языках разметки данных. Наиболее часто CSS используют для визуальной презентации страниц, написанных HTML и XHTML, но формат CSS может применяться к другим видам XML-документов.
Сейчас мы рассмотрим пример защиты кода таблицы от копирования.
Смешно и быстро можно скрыть свой CSS.
Это даже не скрипт, это скорее всего идея по скрытой таблицы стилей css
Если вы зайдете в мой исходный код страницы (главная страница + ctrl + u) то облазив весь код, Вы ничего не найдете!
Теперь посмотрим как это сделать.
Зайдем в ваш CSS и скопируем его полностью.
Затем на рабочем столе создайте текстовый документ и вставьте туда то что
Скопированы у себя в CSS.
Сохраните как: 1cc2s1.css
Затем залейте в ваш файловый менеджер.
Теперь зайдите в Таблицу стилей CSS и все там сотрите и вставьте это:
«Нет здесь КСС напиши свое лучшее»
Сохраните…
После того как Вы залили CSS в файловый менеджер скопируйте ссылку и
замените текст: ЗДЕСЬ ВАШЕ CSS на своем:
Code
/>
Затем зайдите на этот сайт: studioweb.boom.ru/kod_html1.htm
Вставьте Тот код со ссылкой на Ваш CSS который Вы уже залили. И закодируйте. (Метод кодирования мы уже рассматривали ранее)
После Вы получите код.
Возьмите с него только содержимое. А то-есть только код.
Пример:
Берем только
Вы вставляете свое!
И вставляете в новый текстовый документ. Сохроняйте как: jquery1.0.1.js
И загружаете в ваш файловый менеджер.
Все, теперь тот, кто попытаеться просмотреть и скопировать ваш код, увидит лишь надпись «нет здесь КСС напиши свое лучшее», для человека, который хотел, как говорится «на шару» ваш код, это будет большим удивлением!
Также на разы для рекламы своих ресурсов недобросовестные владельцы сайтов вдаются в СПАМа на других сайтах, которые более известны.
Спам (англ. spam) — массовая рассылка корреспонденции рекламного или иного характера людям, не выразившим желание ее получать. Прежде термин «спам» относится рекламных электронных писем, и поидомлень на сайтах.
В данный для Упрощенно рассылки СПАМа существует много программ, потому рассылать сообщения на большое количество сайтов достаточно сложно. Поэтому для рассылки спама используют программы, которых сейчас очень большое количество. Некоторые почтовые сервисы, такие как «Маил.ру», «Рамблер», « Гмеил» намагаются бороться со спамом своими способами, например составляют «черные» списки адресов и сайтов, сообщения с которых автоматически переводятся в специальную папку «СПАМ». Но поскольку существуют программы для рассылки спама, то и существуют способы защиты от этого. Сейчас мы рассмотрим программы для рассылки спама.
Программы для массовой рассылки писем доставляют письма одновременно в несколько потоков и могут работать в несколько раз быстрее, чем обычный почтовый клиент. При этом на них не влияют ограничения почтового сервера провайдера ни на число, ни на объем отправляемых через них писам. Програмы для массовой рассылки писем имеют встроенный почтовый сервер SMTP, благодаря которому Вы можете создавать письмо для рассылки в любом формате и в любой почтовой программе — хоть в Microsoft Outlook, хоть в TheBat. Он также может служить как ремейлеров для любой другой программы для массированной рассылки писем или почтового сервера (например, GroupMailer или Eserv). Функция ремейлеров — способность отправлять письма прямо — окажется особенно полезной мобильным пользователям, так как им не нужно будет менять настройки в аккаунтах в почтовой программе каждый раз, когда они оказываются в другой сети. Программы рассылки спама поддерживают списки рассылки любого формата, включая импортируемые на лету из базы данных по запросу SQL (хоть из документа Microsoft Excel, хоть из Microsoft Access, хоть из Microsoft SQL Server), адресные книги Windows. Представленные программы для рассылки писем позволяют выполнять анонимные рассылки через прокси Socks5, скрывая IP-адрес отправителя. Но уже как было сказано, существуют способы борьбы со спамом. Всегда при регистрации на различных сайтах, специальная система просит ввести код с изображения, так называемого «защиты от роботов. Защита от СПАМА делиться на два вида:
1. С участием пользователя.
2. Автоматические.
Сейчас мы рассмотрим оба способа более подробно.
Способы защиты, которые требуют действий от пользователя.
Думаю, что систему защиты от спама на сайте CAPTCHA (произносится как «капча») представлять не нужно. Вы наверняка видели «искажены» символы (цифры, буквы) на форумах, гостевых книгах, при регистрации новых пользователей, отправку SMS через Internet, которые необходимо распознать и ввести с клавиатуры, тем самым доказывая, что Вы не бот.
Капча — это компьютерный тест, используемый для того, чтобы определить, кем является пользователь Web-сайта: человеком или компьютером.
Существует понятие «слабая капча» и «устойчивая капча». К слабым капч можно отнести те, которые имеют фиксированный шрифт, фиксированное положение символов, отсутствие шума и т.д. То есть те, которые боту программно распознать легче.
Основная идея CAPTCHA-теста: предложить пользователю такую задачу, с которой он легко справится, а вот, компьютер не сможет ее решить или для него это будет сверхсложного задачей.
Капча чаще всего используется при необходимости предотвратить использование Internet-сервисов спам-ботами, например, для предотвращения автоматических отправок сообщений, регистрации, скачивания файлов, добавление комментариев к гостевой книги, отправки SMS и т.д.
Капча является одним из наиболее популярных средств защиты от спама. Этот метод используется крупными Internet-сервисами, включая Google, MSN, Яндекс и др.
Как работает классическая CAPTCHA (общая схема)?
В скрипты (например, на языке PHP) случайным образом генерируется «секретный» текст и хранится на сервере с помощью сессии. Затем средствами языка программирования создается и выводится картинка (капча) с этим текстом.Важливо, чтобы «секретный» текст никак не витягувався ( доставался) из данных, передаваемых браузера, только по картинке.
Пользователь, при отправке формы на сайте, должен ввести этот «секретный» текст в поле.
В скрипт, который модифицирует Web-форму, проверяется соответствие переданного поля со значением сессии. При равенстве значений, работа скрипта продолжается, т.е. добавляется запись в гостевую книгу или регистрируется новый пользователь.
Эффективность капчи зависит как от сложности создания алгоритма ее распознавания, так и от популярности того или иного защиты. Поскольку пытаться сломать даже примитивный, но необычно защищенный сайт со средней посещаемостью, скорее всего, никто не станет.
Недостатки большинства капч:
Современные боты «научились» распознавать даже искаженные символы и таким образом взламывать защиту.
CAPTCHA заставляет пользователя напрягтись, наполняя лишнее поле.
Капча создает практически непроходимых барьер для людей с плохим зрением и дальтоники.
Иногда картинка с текстом настолько искажена, что не только бот, но и человек с нормальным зрением не в состоянии разобрать, что надо вводить. Ситуация обострится, если уже заполнена Web-форма, например, с большим объемом данных и невозможно разобрать «секретный »текст. Обновлять страницу жаль, но что делать, приходится. Хотя Web-умельцы нашли выход из этой ситуации. Создано капчи, которые позволяют восстановить число (а точнее картинку) с помощью JavaScript без обновления всей страницы и соответственно без потери полей (заполненных с таким трудом).
Трудно обойти капча-защиту?
Капча не является 100%-но надежным методом защиты. Но есть такое вообще? Существует несколько способов ее обхода. С этой целью могут использоваться OCR-программы (программы оптического распознавания текста).
Самым ярким представителем таких программ является FineReader.Оскилькы есть возможности подключать модули с FineReader в программы сторонних разработчиков для распознавания картинок.
Однако в большинстве случаев обойти капча-защиту можно даже без использования OCR. Например, нанять людей для отгадывания. Или же организовать т. н. Метод «леммингов», где в процессе распознавания капчи принимают участие много настоящих людей: спамеры перерозмищають картинку с сайта, который они хотят сломать, на специальный сайт с большой посещаемостью, где для доступа к информации (чаще всего порнографического содержания) человек разгадывает такую капчу и сообщает результат спамерам (не напрямую, а вводя текст с картинки в специальное поле.
Идеи капч, которые отличаются от классического варианта.
К таким можно отнести, аудио-капчи, математические задачи, текстовые задачи, распознавания предметов и т.д.
В качестве альтернативы могут использоваться математические задачи (например, клиентов, который пожелает оставить комментарий, скрипт просит решить простенькую задачу: «сколько будет 2 плюс 5».
Данный способ является хорошим решением, но приличную защиту может обеспечить только в силу своей новизны и малой популярнисть.Насправди, выполнять арифметические действия компьютер умеет лучше человека и для самого человека выполнения в умы действий может быть утомительным и относительно сложным занятием.
Текстовые задачи.
Посетителю сайта задается вопрос, на который он должен дать ответ (например, на блоге laset.info я встречался с вопросом: «Столица Украины?"). Как правило, ответ можно ввести в поле или выбрать из списку. Плюсом данной идеи является то, что проверка доступна для людей с нарушениями зрения. Недостатки идеи: пользователь должен хорошо владеть языком, на котором задается вопрос, кроме того количество вопросов является окончания, поэтому злоумышленник может составить базу, с ответами.
Наиболее совершенными на данный момент признаются тесты CAPTCHA, использующие графические изображения разных объектов. Суть такого теста — перед отправкой данных из формы пользователю нужно выбрать из перечня картинок те, на которых изображена живая природа, котики, или нечто другое. При этом порядок выбора правильных изображений может иметь значение или быть не важно. Поскольку боты не способны различать образы, этот капча-тест является высокоэффективным средством защиты от спама. Данная реализация защиты от спама является весьма перспективной, поскольку меньше напрягает пользователя. Этот вид капчи можно увидеть, например, на сайте www.kyivstar.net (мобильный оператор «Киевстар») при отправке SMS-сообщений.
Способы, не требующие действий от пользователя.
Эти способы защиты есть более дружелюбные к посетителю сайта, чем разного рода капчи и поэтому при их применении удобство в пользовании сайтом для клиентов растет. Система может как ограничивать количество запросов, так и пытаться отличить человека от бота по косвенным признакам в поведении. Косвенные признаки так и «косвенные», не дают гарантии, а лишь увеличивают вероятность того, что бот «не пройдет».
Главное отличие бота-программы от человека — это подход к Web-страницы как в последовательности текста и тегов, тогда как обычный человек видит конечный результат (визуальный образ) и код страницы ее мало интересует.
Большинство способов, которые не требуют активных действий от пользователя при отправке Web-формы, основанные на том, что среднестатистический бот, в отличие от полноценного браузера, не обучен интерпретировать CSS, JavaScript, Flash и т.д.
Ограничение по частоте сообщений.
Суть метода: необходимо следить, чтобы с одной и той же IP-адреса не было больше чем, например, десять сообщений на минуту. Поскольку вряд ли посетитель сможет с такой частотой писать умные мысли. Заметьте, этот трюк не избавляет от спама, а лишь сокращает его объем. Он имеет смысл тогда, когда заставлять пользователя решать капчу нельзя, а защититься треба.Обмеження количества запросов с одного IP-адреса — это достаточно простой способ малоэффективен, правда, при достаточной подготовленности злоумышленника.
Блокировка по времени загрузки формы.
Защитой может быть блокирование при обработке сообщений на время, прошедшее между загрузкой формы и ее отправкой — человеку, в отличие от бота, явно потребуется некоторое время на ввод данных (который, как правило, больше 1-2 секунды).
Блокировка сообщений по ключевым словам.
Фильтр работает обычно так: к публикации не допускаются сообщения, имеющие в тексте неприличные слова, оскорбительные, ругательным фразы и т.д.
Изменение имен полей, которые участвуют в передаче данных.
Большинство спам-роботов ищут на странице поля со стандартными именами, например, «name», «email», «mail» и т.п… Чтобы доставить боту некоторую неловкость, лучше называть поля нестандартно. Можно, например, поле «электронная почта» назвать «name», а «имя» — «email», в расчете на то, что бот примет решение о сути полей по атрибуту name тега .
Создание полей-приманок.
Раз спам-бот ищет поле «name», «email» и тому подобные, почему бы не дать ему. Создаем скрытое поле, не hidden, а, например, скрытое средствами CSS. Обычный посетитель не видит поле и естественно не заполняете его. Спам -робот заполнит это поле. Форма должна обрабатываться только, если скрытое нами поле будет пустым. Среди полей-приманок обычно должны быть поля, которые видел пользователь, но им следует дать нестандартные имена.
Блокировка сообщений по размеру экрана
Данный способ защиты работает по простой схеме: если при программном определении у посетителя нет Размеры (ширины, высоты) экрана, то форму пытается отправить бот, поэтому ее не следует обрабатывать.
Построение формы с помощью JavaScript
Этот метод делает анализ формы еще сложнее: боту необходимо найти и выполнить код JavaScript, чтобы увидеть поле, которое следует заполнить. Можно, например, спрятать поле в JavaScript-код так:
А тогда на стороне сервера следует проверять существует ли $ _POST ['antis'] и, что она равна 1104.
Однако повторюсь: косвенные методы по определению менее эффективны, чем капча. Борьба с большинством этих методов достаточно проста: один раз боту программе следует показали, как надо действовать при данной ситуации и все — разгребают спам на сайте.
Также, для защиты сайта от плагиата, существует еще один способ-перевод всего кода страницы, то есть самой страницы в Флэш. Для неосвидчених пользователей эта преград будет не проходимые, но и на этот способ существуют методы взлома. Гедьо дорогой флэш-файл можно скачать себе на компьютер, за помощь и специальных программ. Затем, также по помощь и специальных декомпиляторив, можно «разобрать» флэш-ролик на изображение, видео, коды и др…
Заключения.
После проверки и тестирования всях описанных в этой работе способов защиты сайтов, я пришел к выводу, что все они имеют свои плюсы и минусы. Некоторые из них обеспечивают меньше, а вторые больше пользы для защиты сайта.
Но, не один из способов не может защитить сайт на 100%. У пользователей, имеющих определенный опыт работы в интернете, и создание сайта, не будет большой проблемой обойти их все. Например, для обхода блокировки правох кнопки мыши, достаточно только отключить поддержку джава-скрипт в настройках браузера. А при использовании шифрования у пользователей с отключенным джава не будет отображаться страница. Ведь, никто сейчас не может сто процентно защитить и уберечь свой сайт от плагиата, и кражи материала из него. Но, более надежным является флеш-сайт, его достаточно сложно скопировать. Рядовой «юзер» интернета не сможет этого сделать.
Но такие сайта грузятся дольше них обычные, и работают они хуже. У людей с тарифицированным интернетом, и малым швикистю того такие сайты не открываются Гедьо.
Поэтому если ваш сайт «украли», зломалы »или сделали с ним что угодно, лучше змерится, потому что вы никому не докажете, что это он. А прокуратура Украины не займается расследованием плагиата, или намеренного «порчи» вашего сайта. Лично я использую только шифраторы ХТМЛ кода, и блокиратор правой клавиши мыши. Защита от спама обеспечивает хостер, а больше меня ничего и не надо.
Список использованных источников информации:
1. Общие методы защиты сайтов [Электронный ресурс] — Режим доступа: kadaj.by.ru/protect.shtml
2. Защита копирайтов [Электронный ресурс] — Режим доступа: www.thebeststudio.ru
3. Капча [Электронный ресурс] — Режим доступа: mycodes.in.ua/archives/398
4. Технические способы защиты сайта [Электронный ресурс] — Режим доступа: www.seonews.ru/masterclasses/detail/29849.php
5. Защита от SQL-инъекций [Электронный ресурс] — Режим доступа:
www.kadaweb.ru/papers/5.php
6. Защита от DDoS-атак [Электронный ресурс] — Режим доступа:
xaknet.ru
7. Защита от СПАМА [Печатное издание] — hacktools.ru/book/hack-book/29-zashhita-informacii-v-ofise.html
(с) Илья Маркелов. Киев-2011.
Введение.
На данный момент сеть Интернет содержит множество сайтов, порталов и других Интернет ресурсов. Почти все «веб-дизайнеры», администраторы и владельцы Интернет ресурсов задаются вопросом — «Как защитить мой Интернет ресурс от взлома, плагиата графического дизайна и другое?». Сейчас существует много способов атаки сайта и похищения изображений и т.д… Но также есть и достаточное количество способов защиты сайта. Именно об этих способах и пойдет речь в данной работе. Здесь мы попытаемся осветить некоторые из этих способов и проверить их работоспособность и пользу для сайта.
Целью данного исследования является доказать или опровергнуть определенные виды защиты сайта. Мы осветим способа защиты сайта от хакерских атак, спама, и способах защиты дизайна сайта от плагиата.
Общий анализ на момент исследования.
Все способы защиты были проверены на специально сделанном для этого сайте. Он находится на сервере компании «Ucoz» которая обеспечивает роботоспособнисть сайта и неплохо защищает тот от взлома. Сейчас так называемый «Юкоз» является самым популярным сервером для создания сайта.
На форуме техподдержки хостера есть очень большое количество сообщений о взломы сайтов. После опроса владельцев интернет ресурсов, я пришел к выводу, что «Юкоз» не обеспечивает надежной защиты сайта от взлома. Даже использование сложных паролей и скриптов, не дает полной защиты. Далее мы рассмотрим некоторые из способов защиты сайтов от различных угроз. Для начала рассмотрим защита сайта от хакерских атак. Основным методом атаки сайта хакерами, является или подбор пароля к системе администрирования, или полное удаление всех ресурсов сайта (внутренних файлов из корня сайта).
Но в некоторых случаях целью хакера является кража дизайна сайта. Не опытные веб-мастера применяют простые Java-скрипты, которые блокируют правую кнопку мыши.
Защита от SQL-инекции
Самый простой способ защиты от SQL-инъекции — вставлять параметры SQL-запроса одиночными лапками ('), поскольку через GET-і POST-запрос не возможно передать символ одиночной лапки (он будеи автоматически изменен соеденением символов -\' - тобиш экранироваться).
SELECT * FROM `table_name` WHERE `param` = '$ param_name' ORDER BY `sort` ASC;
SQL-запрос в случае инъекции будет выглядеть примерно так:
SELECT * FROM `table_name` WHERE `param` = '10 union select 1,2,3 / * 'ORDER BY `sort` ASC;
Также, никогда не сохраняйте пароли в базы данных в открытом виде, обязательно приводить их (например, функцией sha1). С помощью SQL-инъекции легко «достать» данные из базы данных, а если они будут зашифрованы, то есть велика вероятность того, что злоумышленник не сможет ими воспользоваться.
Для обеспечения конфиденциальности логина и пароля для доступа к базе данных, функции подключения к базе данных лучше хранить в отдельном файле и подключать его в каждой странице сайта.
Так же, отключение вывода на экран ошибок, возникших при неправильном запросе, сильно усложняет задачу злоумышленнику. Что бы отключить вывод ошибок достаточно написать следующее (например, в файле подключения базы данных):
ini_set ('display_errors', '0 ');
Старайтесь проверять результат каждого выполняемого запроса на выполнение и количество найденных записей. Если это число равно нулю, перенаправляет пользователя, например, на главную страницу, это обеспечит хорошую защиту от SQL-инъекций.
Если Ваш сайт не содержит разделов, в которых производится запись и редактирование строк в базе данных, то необходимо в пользовательской базы данных, под которым происходит соединение с базой, отключить все права, кроме права на чтение данных. По-умолчанию, у пользователя базы данных являются права и на удаление, и на редактирование. Для разделов сайта, требующих больших прав, например книга отзывов или форум стоит завести отдельного пользователя, у которого будет право на редактирование только конкретной таблицы. А для системы управления сайтом необходимо завести отдельного пользователя базы данных, так как ему необходимы полные права.
Все описанные выше способы не гарантируют стопроцентной защиты от SQL-инъекций, однако, предотвратят их в подавляющем большинстве случаев.
DoS-атака
Отказ от обслуживания, распределенный отказ от обслуживания (англ. DoS, DDoS, (Distributed) Denial-of-service) — нападение на компьютерную систему с намерением сделать компьютерные ресурсы недоступны для пользователей, для которых компьютерная система была предназначена.
Одним из распространенных методов нападения является проникновение атакованного компьютера или сетевого оборудования большим количеством внешних запросов (часто бессмысленных или неверно сформированных) так, что атаковано оборудование не может ответить ее пользователям, или отвечает так медленно, что становится фактически недоступным. Вообще отказ сервиса осуществляются:
§ принуждением атакованного оборудования остановить работу программы или оборудование или потратить имеющиеся ресурсы, так что оборудование не может продолжать работу;
§ занятием коммуникационных каналов между пользователями и атакованным оборудованием, так что качество соединения перестает соответствовать требованиям.
Если атака происходит одновременно с большого количества IP-адресов, то в ее называют распределенной (DDoS).
Методы борьбы
Опасность большинства DDoS-атак — в их абсолютной прозрачности и «нормальности». Ведь если ошибка в ПО всегда может быть исправлена, то полное зжирання ресурсов — явление почти обыденное. С ними сталкиваются многие администраторы, когда ресурсов машины (ширина канала) становится недостаточно, или web-сайт подвергается слешдот-эффекта. И если резать трафик и ресурсы для всех подряд, то спасешься от DDoS, но потеряешь большую половину клиентов.
Выхода из этой ситуации фактически нет, однако последствия DDoS-атак и их эффективность можно существенно снизить за счет правильной настройки маршрутизатора, брандмауэра и постоянного анализа аномалий в сетевом трафике.
Также за помощь и подобных скриптов можно запретить выделять текст. Но это не интересно, и углубляться в эти способы мы не будим. В данный момент мы рассмотрим способ защиты графических изображений сайта.
Защита картинки (способ 1)
Создается «листовая» картинка в таблице. Идея в том, чтобы позволить посетителю страницы сохранять картинки, только взамен он видит, совсем другие изображения, например, прозрачные. Для изготовления такой картинки понадобится любой HTML-редактор, для не особых знатоков разметки гипертекста лучше воспользоваться Dreamweaver. Создаем таблицу с одной ячейкой, по размерам совпадает с нашей картинкой, и вставляем последнюю в качестве фона таблицы (или ячейки). В эту таблицу вставляем точно такую же еще одну таблицу, а уже в последнюю — прозрачный gif -файл (имя картинки и имя прозрачного gif-файла нужно сделать почти одинаковыми на вид). Если этот метод вас устраивает, а создавать таблицы с картинками вручную нет желания, вы можете воспользоваться специальной программой для создания слоев — например, Cool Page.
Защита картинки (способ 2)
Идея в том, что бы порезать картинку на кусочки. Изображение разрезается на множество сегментов, каждый из которых затем вставляется в таблицу. В этом случае тому, кто захочет эту картинку восстановить, придется сохранять каждый сегмент в виде отдельного файла и затем «сшить» в одном из графических редакторов. При большом числе фрагментов разбиения желание похитить картинку у кого-то может пропасть окончательно. При автоматизации такого способа можно воспользоваться функцией автоматической разрезки изображений, имеющейся в некоторых графических редакторах. в Ulead PhotoImpact можно разрезать картинку на нужное количество частей и сохранить результат в HTML. При этом генерируется таблица, которую можно экспортировать в Dreamweaver, настроить там ее внешний вид, после чего вставить полученный код в свою веб-страницу.
Необходимо обратить внимание на то, что от копирования картинок с помощью кнопки клавиатуры Print Screen выше описаные способы не спасут, поэтому рекомендуется публиковать картинки с приемлемым качеством для комфортного просмотра, но не приемлемым для их коммерческого использования.
Теперь нужно более подробно разобраться в защите и сокрытием исходного HTML кода страницы. Я знаю по себе, что страница которая имеет большое количество скриптов и сложных кодов представляет собой большую ценность. Так например скрипт для форумных-ролевых игр, который в зависимости от количества сообщений пользователя, дает ему определенное снаряжение. Такой скрипт является платным, но многие полбзователи пытаються получить его бесплатно. Для просмотра кода страницы, достаточно воспользоваться интернет браузером «Google Chrome» или «Mozilla Firefox», которые предоставляют свободный доступ к коду. От браузера «Chrome» можно попробовать защититься скриптом, блокировка правой кнопки мыши. Но для опытного пользователя, это не является преградой. Поэтому существую достаточно надежный способ скрыть свой код — это шифрование кода страницы.
Шифрование — задача весьма непростая, полное описание которой займет не одну статью, поэтому ниже обозначены способы, предназначениие для демонстрации основных принципов и не являются готовыми к использованию решениями.
Использование компилятора perl2exe
Самый простой способ защиты кода это использование компилятора perl2exe (Windows), который создает из кода обычный исполняемый файл. Для пожалуй, одного из самых популярных в Рунете языка сценариев Perl, одним из вариантов сокрытия исходных кодов стала возможность компилирования кодов в исполняемый формат PE-exe для win32, ELF для Linux. Такая утилита для компиляции, и называется Perl2Exe, предоставляется компанией сторонних разработчиков IndigoStar Software.
В этом случае самый элементарный способ (и наиболее часто используемый) — зашифровать программу, поместить ее в переменную, а в конце поставить расшифровщик. Но, несмотря на то, что авторы утилиты Perl2Exe не предоставляют ее исходных кодов, поэтому найти инженерный пароль в автоматическом режиме невозможно, даже с помощью разного рода хакерских программ. И говорить о криптографической стойкости подобного шифрования бессмысленно, поскольку ключ к шифру находится рядом с самым шифром. (Что только увеличит размер вашей зашифрованной страницы). Такое изменение программы легко можно остановить.
Удаление синтаксических символов и добавление фрагментов.
Наибольший интерес представляют необратимые изменения кода. Частично таким является удаление всех переводов строк, комментариев, лишних скобок и пробелов из кода — в общем, все «ненужного», что было там только для повышения читабельности. Это необратимо лишь частично, поскольку некоторые редакторы могут автоматически расставить переводы строк и табуляторы.
Можно вставлять в код бессмысленные куски, которые ничего не делают (чаще всего этот метод применяется в комбинации с удалением «ненужного»).
В идеале эти бессмысленные куски должны быть разнообразными и похожими на окружающее их код, чтобы их было сложнее распознать.
Последний и, пожалуй, самый простой способ шифрования для веб-мастеров сайтов.
Шифрование HTML кода с использованием сервиса www.ph4.ru/wm_html2js.ph4, который превращает все не латинские символы HTML кода (кроме точки, запятые, знаки вопроса и двоеточия) в коды символов UNICODE.
Пример:
Оригинал:
script language="JavaScript1.2">
if (document.all) document.body.onmousedown = new Function ("if
(Event.button == 2 | | event.button == 3) alert ('Попереджувальний текст') ")
В UNICODE :
% 3Cscript% 20language% 3D% 22JavaScript1.2% 22% 3E% 0D% 0A% 0D% 0Aif% 20% 28documen
t.all% 29% 20document.body.onmousedown% 3Dnew% 20Function% 28% 22if% 20% 28event.butt
on% 3D% 3D2% 7C% 7Cevent.button% 3D% 3D3% 29alert% 28% 27% u041F% u0440% u0435% u04
34% u0443% u043F% u0440% u0435% u0436% u0434% u0430% u044E% u0449% u0438% u0439%
20% u0442% u0435% u043A% u0441% u0442% 27% 29% 22% 29% 0D% 0A% 0D% 0A% 3C/script%
3E
Там же сервис выдает окончателный код, который вставляется в вашу страницу:
Но и у этого спосаба есть свои минусы — некоторые пользователи интернета, иногда выключают в браузере поддержку Java-скрипт, и поэтому страница закодирована таким образом, у него отображаться не будет.
Также достаточно велика проблема защиты графических изображений сайта или элементов дизайна, а в некоторых случаях и всего дизайн. Я лично всегда пытаюсь защитить свои работы, которые выставляю в свободный доступ в сети. В данный момент, среди пользователей интернета преобладают люди, возраст которых от 10 и до 35 лет. Очень большое количество молодых администраторов сайтов, хотят иметь понравившийся им дизайн чужого сайта. В данный момент, почти никто не защищает свои интернет-проекты авторскими правами, потому что для этого нужно время, и деньги. Поэтому если вы не очень известный дизайнер, и вашу работу переделали — смерится, вы никогда, никому ничего не докажете — также проверено на собственном опыте. На все дизайны ставят копирайты внизу. Поэтому их скритие не является ни для кого тайной. Одним из способов сохранения копирайта является использование просто Java-скрипта, о котором мы сейчас и поговорим.
Проблема защиты наших страниц состоит в том, что мы пишем на клиентском языке, который доступен каждому… Конечно, изложенный ниже скрипт не спасет если человек понимает в JavaScript хоть немного, но какой то процент копирайтов все же останется на месте. Код пытался сделать можно менее понятным, заметным и объемным.
Подчеркнут так называемый селектор. Именно в отсутствие которого, шаблон откажется работать и переправит пользователей на главную страницу автора шаблона.
Настройки селектора:
Формат записи: имя_тега [имя_параметра = «значение»]
например:
a [href = «www.*******.ru/»]
img [src = «ссылка на логотип»]
Но, как уже было сказано выше, он не всегда помогает.
Также немало важна защита каскадной таблицы стилей сайта. Каскадные таблицы стилей (англ. Cascading Style Sheets или сокращенно CSS) — специальный язык, используемый для отображения страниц, написанных на языках разметки данных. Наиболее часто CSS используют для визуальной презентации страниц, написанных HTML и XHTML, но формат CSS может применяться к другим видам XML-документов.
Сейчас мы рассмотрим пример защиты кода таблицы от копирования.
Смешно и быстро можно скрыть свой CSS.
Это даже не скрипт, это скорее всего идея по скрытой таблицы стилей css
Если вы зайдете в мой исходный код страницы (главная страница + ctrl + u) то облазив весь код, Вы ничего не найдете!
Теперь посмотрим как это сделать.
Зайдем в ваш CSS и скопируем его полностью.
Затем на рабочем столе создайте текстовый документ и вставьте туда то что
Скопированы у себя в CSS.
Сохраните как: 1cc2s1.css
Затем залейте в ваш файловый менеджер.
Теперь зайдите в Таблицу стилей CSS и все там сотрите и вставьте это:
«Нет здесь КСС напиши свое лучшее»
Сохраните…
После того как Вы залили CSS в файловый менеджер скопируйте ссылку и
замените текст: ЗДЕСЬ ВАШЕ CSS на своем:
Code
/>
Затем зайдите на этот сайт: studioweb.boom.ru/kod_html1.htm
Вставьте Тот код со ссылкой на Ваш CSS который Вы уже залили. И закодируйте. (Метод кодирования мы уже рассматривали ранее)
После Вы получите код.
Возьмите с него только содержимое. А то-есть только код.
Пример:
Берем только
document.write (unescape ("% 3Clink% 20type% 3D% 22text/css% 22% 20rel% 3D% 22StyleSheet%
22% 20href% 3D% 22% u0422% u0423% u0422% 20% u0412% u0410% u0428% u0415% 20CSS% 22% 20 /% 3E "));
Вы вставляете свое!
И вставляете в новый текстовый документ. Сохроняйте как: jquery1.0.1.js
И загружаете в ваш файловый менеджер.
/>
Все, теперь тот, кто попытаеться просмотреть и скопировать ваш код, увидит лишь надпись «нет здесь КСС напиши свое лучшее», для человека, который хотел, как говорится «на шару» ваш код, это будет большим удивлением!
Также на разы для рекламы своих ресурсов недобросовестные владельцы сайтов вдаются в СПАМа на других сайтах, которые более известны.
Спам (англ. spam) — массовая рассылка корреспонденции рекламного или иного характера людям, не выразившим желание ее получать. Прежде термин «спам» относится рекламных электронных писем, и поидомлень на сайтах.
В данный для Упрощенно рассылки СПАМа существует много программ, потому рассылать сообщения на большое количество сайтов достаточно сложно. Поэтому для рассылки спама используют программы, которых сейчас очень большое количество. Некоторые почтовые сервисы, такие как «Маил.ру», «Рамблер», « Гмеил» намагаются бороться со спамом своими способами, например составляют «черные» списки адресов и сайтов, сообщения с которых автоматически переводятся в специальную папку «СПАМ». Но поскольку существуют программы для рассылки спама, то и существуют способы защиты от этого. Сейчас мы рассмотрим программы для рассылки спама.
Программы для массовой рассылки писем доставляют письма одновременно в несколько потоков и могут работать в несколько раз быстрее, чем обычный почтовый клиент. При этом на них не влияют ограничения почтового сервера провайдера ни на число, ни на объем отправляемых через них писам. Програмы для массовой рассылки писем имеют встроенный почтовый сервер SMTP, благодаря которому Вы можете создавать письмо для рассылки в любом формате и в любой почтовой программе — хоть в Microsoft Outlook, хоть в TheBat. Он также может служить как ремейлеров для любой другой программы для массированной рассылки писем или почтового сервера (например, GroupMailer или Eserv). Функция ремейлеров — способность отправлять письма прямо — окажется особенно полезной мобильным пользователям, так как им не нужно будет менять настройки в аккаунтах в почтовой программе каждый раз, когда они оказываются в другой сети. Программы рассылки спама поддерживают списки рассылки любого формата, включая импортируемые на лету из базы данных по запросу SQL (хоть из документа Microsoft Excel, хоть из Microsoft Access, хоть из Microsoft SQL Server), адресные книги Windows. Представленные программы для рассылки писем позволяют выполнять анонимные рассылки через прокси Socks5, скрывая IP-адрес отправителя. Но уже как было сказано, существуют способы борьбы со спамом. Всегда при регистрации на различных сайтах, специальная система просит ввести код с изображения, так называемого «защиты от роботов. Защита от СПАМА делиться на два вида:
1. С участием пользователя.
2. Автоматические.
Сейчас мы рассмотрим оба способа более подробно.
Способы защиты, которые требуют действий от пользователя.
Думаю, что систему защиты от спама на сайте CAPTCHA (произносится как «капча») представлять не нужно. Вы наверняка видели «искажены» символы (цифры, буквы) на форумах, гостевых книгах, при регистрации новых пользователей, отправку SMS через Internet, которые необходимо распознать и ввести с клавиатуры, тем самым доказывая, что Вы не бот.
Капча — это компьютерный тест, используемый для того, чтобы определить, кем является пользователь Web-сайта: человеком или компьютером.
Существует понятие «слабая капча» и «устойчивая капча». К слабым капч можно отнести те, которые имеют фиксированный шрифт, фиксированное положение символов, отсутствие шума и т.д. То есть те, которые боту программно распознать легче.
Основная идея CAPTCHA-теста: предложить пользователю такую задачу, с которой он легко справится, а вот, компьютер не сможет ее решить или для него это будет сверхсложного задачей.
Капча чаще всего используется при необходимости предотвратить использование Internet-сервисов спам-ботами, например, для предотвращения автоматических отправок сообщений, регистрации, скачивания файлов, добавление комментариев к гостевой книги, отправки SMS и т.д.
Капча является одним из наиболее популярных средств защиты от спама. Этот метод используется крупными Internet-сервисами, включая Google, MSN, Яндекс и др.
Как работает классическая CAPTCHA (общая схема)?
В скрипты (например, на языке PHP) случайным образом генерируется «секретный» текст и хранится на сервере с помощью сессии. Затем средствами языка программирования создается и выводится картинка (капча) с этим текстом.Важливо, чтобы «секретный» текст никак не витягувався ( доставался) из данных, передаваемых браузера, только по картинке.
Пользователь, при отправке формы на сайте, должен ввести этот «секретный» текст в поле.
В скрипт, который модифицирует Web-форму, проверяется соответствие переданного поля со значением сессии. При равенстве значений, работа скрипта продолжается, т.е. добавляется запись в гостевую книгу или регистрируется новый пользователь.
Эффективность капчи зависит как от сложности создания алгоритма ее распознавания, так и от популярности того или иного защиты. Поскольку пытаться сломать даже примитивный, но необычно защищенный сайт со средней посещаемостью, скорее всего, никто не станет.
Недостатки большинства капч:
Современные боты «научились» распознавать даже искаженные символы и таким образом взламывать защиту.
CAPTCHA заставляет пользователя напрягтись, наполняя лишнее поле.
Капча создает практически непроходимых барьер для людей с плохим зрением и дальтоники.
Иногда картинка с текстом настолько искажена, что не только бот, но и человек с нормальным зрением не в состоянии разобрать, что надо вводить. Ситуация обострится, если уже заполнена Web-форма, например, с большим объемом данных и невозможно разобрать «секретный »текст. Обновлять страницу жаль, но что делать, приходится. Хотя Web-умельцы нашли выход из этой ситуации. Создано капчи, которые позволяют восстановить число (а точнее картинку) с помощью JavaScript без обновления всей страницы и соответственно без потери полей (заполненных с таким трудом).
Трудно обойти капча-защиту?
Капча не является 100%-но надежным методом защиты. Но есть такое вообще? Существует несколько способов ее обхода. С этой целью могут использоваться OCR-программы (программы оптического распознавания текста).
Самым ярким представителем таких программ является FineReader.Оскилькы есть возможности подключать модули с FineReader в программы сторонних разработчиков для распознавания картинок.
Однако в большинстве случаев обойти капча-защиту можно даже без использования OCR. Например, нанять людей для отгадывания. Или же организовать т. н. Метод «леммингов», где в процессе распознавания капчи принимают участие много настоящих людей: спамеры перерозмищають картинку с сайта, который они хотят сломать, на специальный сайт с большой посещаемостью, где для доступа к информации (чаще всего порнографического содержания) человек разгадывает такую капчу и сообщает результат спамерам (не напрямую, а вводя текст с картинки в специальное поле.
Идеи капч, которые отличаются от классического варианта.
К таким можно отнести, аудио-капчи, математические задачи, текстовые задачи, распознавания предметов и т.д.
В качестве альтернативы могут использоваться математические задачи (например, клиентов, который пожелает оставить комментарий, скрипт просит решить простенькую задачу: «сколько будет 2 плюс 5».
Данный способ является хорошим решением, но приличную защиту может обеспечить только в силу своей новизны и малой популярнисть.Насправди, выполнять арифметические действия компьютер умеет лучше человека и для самого человека выполнения в умы действий может быть утомительным и относительно сложным занятием.
Текстовые задачи.
Посетителю сайта задается вопрос, на который он должен дать ответ (например, на блоге laset.info я встречался с вопросом: «Столица Украины?"). Как правило, ответ можно ввести в поле или выбрать из списку. Плюсом данной идеи является то, что проверка доступна для людей с нарушениями зрения. Недостатки идеи: пользователь должен хорошо владеть языком, на котором задается вопрос, кроме того количество вопросов является окончания, поэтому злоумышленник может составить базу, с ответами.
Наиболее совершенными на данный момент признаются тесты CAPTCHA, использующие графические изображения разных объектов. Суть такого теста — перед отправкой данных из формы пользователю нужно выбрать из перечня картинок те, на которых изображена живая природа, котики, или нечто другое. При этом порядок выбора правильных изображений может иметь значение или быть не важно. Поскольку боты не способны различать образы, этот капча-тест является высокоэффективным средством защиты от спама. Данная реализация защиты от спама является весьма перспективной, поскольку меньше напрягает пользователя. Этот вид капчи можно увидеть, например, на сайте www.kyivstar.net (мобильный оператор «Киевстар») при отправке SMS-сообщений.
Способы, не требующие действий от пользователя.
Эти способы защиты есть более дружелюбные к посетителю сайта, чем разного рода капчи и поэтому при их применении удобство в пользовании сайтом для клиентов растет. Система может как ограничивать количество запросов, так и пытаться отличить человека от бота по косвенным признакам в поведении. Косвенные признаки так и «косвенные», не дают гарантии, а лишь увеличивают вероятность того, что бот «не пройдет».
Главное отличие бота-программы от человека — это подход к Web-страницы как в последовательности текста и тегов, тогда как обычный человек видит конечный результат (визуальный образ) и код страницы ее мало интересует.
Большинство способов, которые не требуют активных действий от пользователя при отправке Web-формы, основанные на том, что среднестатистический бот, в отличие от полноценного браузера, не обучен интерпретировать CSS, JavaScript, Flash и т.д.
Ограничение по частоте сообщений.
Суть метода: необходимо следить, чтобы с одной и той же IP-адреса не было больше чем, например, десять сообщений на минуту. Поскольку вряд ли посетитель сможет с такой частотой писать умные мысли. Заметьте, этот трюк не избавляет от спама, а лишь сокращает его объем. Он имеет смысл тогда, когда заставлять пользователя решать капчу нельзя, а защититься треба.Обмеження количества запросов с одного IP-адреса — это достаточно простой способ малоэффективен, правда, при достаточной подготовленности злоумышленника.
Блокировка по времени загрузки формы.
Защитой может быть блокирование при обработке сообщений на время, прошедшее между загрузкой формы и ее отправкой — человеку, в отличие от бота, явно потребуется некоторое время на ввод данных (который, как правило, больше 1-2 секунды).
Блокировка сообщений по ключевым словам.
Фильтр работает обычно так: к публикации не допускаются сообщения, имеющие в тексте неприличные слова, оскорбительные, ругательным фразы и т.д.
Изменение имен полей, которые участвуют в передаче данных.
Большинство спам-роботов ищут на странице поля со стандартными именами, например, «name», «email», «mail» и т.п… Чтобы доставить боту некоторую неловкость, лучше называть поля нестандартно. Можно, например, поле «электронная почта» назвать «name», а «имя» — «email», в расчете на то, что бот примет решение о сути полей по атрибуту name тега .
Создание полей-приманок.
Раз спам-бот ищет поле «name», «email» и тому подобные, почему бы не дать ему. Создаем скрытое поле, не hidden, а, например, скрытое средствами CSS. Обычный посетитель не видит поле и естественно не заполняете его. Спам -робот заполнит это поле. Форма должна обрабатываться только, если скрытое нами поле будет пустым. Среди полей-приманок обычно должны быть поля, которые видел пользователь, но им следует дать нестандартные имена.
Блокировка сообщений по размеру экрана
Данный способ защиты работает по простой схеме: если при программном определении у посетителя нет Размеры (ширины, высоты) экрана, то форму пытается отправить бот, поэтому ее не следует обрабатывать.
Построение формы с помощью JavaScript
Этот метод делает анализ формы еще сложнее: боту необходимо найти и выполнить код JavaScript, чтобы увидеть поле, которое следует заполнить. Можно, например, спрятать поле в JavaScript-код так:
<Form action ="..." name = "addMsg" method = "post">
А тогда на стороне сервера следует проверять существует ли $ _POST ['antis'] и, что она равна 1104.
Однако повторюсь: косвенные методы по определению менее эффективны, чем капча. Борьба с большинством этих методов достаточно проста: один раз боту программе следует показали, как надо действовать при данной ситуации и все — разгребают спам на сайте.
Также, для защиты сайта от плагиата, существует еще один способ-перевод всего кода страницы, то есть самой страницы в Флэш. Для неосвидчених пользователей эта преград будет не проходимые, но и на этот способ существуют методы взлома. Гедьо дорогой флэш-файл можно скачать себе на компьютер, за помощь и специальных программ. Затем, также по помощь и специальных декомпиляторив, можно «разобрать» флэш-ролик на изображение, видео, коды и др…
Заключения.
После проверки и тестирования всях описанных в этой работе способов защиты сайтов, я пришел к выводу, что все они имеют свои плюсы и минусы. Некоторые из них обеспечивают меньше, а вторые больше пользы для защиты сайта.
Но, не один из способов не может защитить сайт на 100%. У пользователей, имеющих определенный опыт работы в интернете, и создание сайта, не будет большой проблемой обойти их все. Например, для обхода блокировки правох кнопки мыши, достаточно только отключить поддержку джава-скрипт в настройках браузера. А при использовании шифрования у пользователей с отключенным джава не будет отображаться страница. Ведь, никто сейчас не может сто процентно защитить и уберечь свой сайт от плагиата, и кражи материала из него. Но, более надежным является флеш-сайт, его достаточно сложно скопировать. Рядовой «юзер» интернета не сможет этого сделать.
Но такие сайта грузятся дольше них обычные, и работают они хуже. У людей с тарифицированным интернетом, и малым швикистю того такие сайты не открываются Гедьо.
Поэтому если ваш сайт «украли», зломалы »или сделали с ним что угодно, лучше змерится, потому что вы никому не докажете, что это он. А прокуратура Украины не займается расследованием плагиата, или намеренного «порчи» вашего сайта. Лично я использую только шифраторы ХТМЛ кода, и блокиратор правой клавиши мыши. Защита от спама обеспечивает хостер, а больше меня ничего и не надо.
Список использованных источников информации:
1. Общие методы защиты сайтов [Электронный ресурс] — Режим доступа: kadaj.by.ru/protect.shtml
2. Защита копирайтов [Электронный ресурс] — Режим доступа: www.thebeststudio.ru
3. Капча [Электронный ресурс] — Режим доступа: mycodes.in.ua/archives/398
4. Технические способы защиты сайта [Электронный ресурс] — Режим доступа: www.seonews.ru/masterclasses/detail/29849.php
5. Защита от SQL-инъекций [Электронный ресурс] — Режим доступа:
www.kadaweb.ru/papers/5.php
6. Защита от DDoS-атак [Электронный ресурс] — Режим доступа:
xaknet.ru
7. Защита от СПАМА [Печатное издание] — hacktools.ru/book/hack-book/29-zashhita-informacii-v-ofise.html
(с) Илья Маркелов. Киев-2011.