Защита от автоматической регистрации при помощи картинки PHP


Оглавление (нажмите, чтобы открыть):

Защита от автоматической регистрации particular. Защита от автоматической регистрации при помощи картинки

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

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

Очень часто возникает необходимость защиты от таких ботов. Как правило, в основном защита организуется в виде какого то дополнительно параметра, который должен быть введен в одно из полей формы, и который бот никак не сможет определить. Это реализуется при помощи картинки с буквами или цифрами (или и тем и другим одновременно) через сессии или через ip посетителей. В данной статье я помогу вам разобраться как сделать такую картинку при помощи php и mysql в считанные минуты.

Для начала создадим небольшую таблицу базы данных, в которой будут временно храниться ip посетителей и значения цифр, изображенных на картинке:

CREATE TABLE test (IP char(15) NOT NULL, Number char(3), PRIMARY KEY(IP))

Тип поля Number указывает, что у нас будут выводится по три цифры на каждой картинке.

Пусть у нас есть некая форма, корорая отправляет данные странице ok.php. Часть кода страницы, на которой расположенна форма будет выглядить следующим образом.

Код файла index.php:

На форме расположенны два поля для ввода данных (Имя и Текст) и поле для ввода значения цифр с картинки (которое имеет имя intext)

Определяем ip посетителя страницы.

Рисуем кнопку отправки данных и закрываем форму ��

Код файла pic.php:

Из того, что вы должны знать в этом коде: $rgb — цвет фона картинки, $textcolor — цвет цифр, выводимых на картинке. Как вы заметили, формироваться будет изображение в формате GIF.

Теперь осталось последнее, обработка данных полученных в форме в файле ok.php (куда эти данные собственно и передаются).

Код файла ok.php:

Опять же, определяем ip пользователя и сравниваем, записан ли такой адрес в таблицу test. Если да, проверяем:

те ли цифры пользователь ввел в форму в текстовое поле intext, которые были отображены на картинке и записаны возле его ip адреса в базе данных. Вот и все ��

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

И я представлю вам один из необходимых плагинов (расширений), а именно средство для защиты сайта от спама . Конкретно, речь пойдет о плагине KeyCAPTCHA .

Известно, что в настоящее время спам (несанкционированная отправка писем на email, комментариев на сайт или не относящихся к теме обсуждения постов на форум, носящих в основном рекламный характер) и автоматическая регистрация на сайтах и форумах распространились настолько, что приобрели характер эпидемии. Причем эта работа поручается специально разработанным программам – ботам.

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

Одним из таких средств является (капча). Это аббревиатура от английских слов «Completely Automatic Public Turing Test to Tell Computers and Humans Apart» — в переводе полностью автоматический тест Тьюринга для различения компьютеров и людей. Иными словами, это задача, которую легко решает человек, но которую невозможно (или крайне трудно) научить решать компьютер.

Применяются CAPTCHA для того, чтобы предотвратить множественные автоматические регистрации и отправления сообщений программами-роботами. Т. е. задача CAPTCHA — защита от спама, флуда и захвата аккаунтов.

Чаще всего CAPTCHA выглядит как тем или иным образом зашумленное случайное число, слово или иная надпись, представленные в виде рисунка, которую пользователю нужно прочитать и ввести прочитанный результат, как например, стандартная капча в Joomla.

В настоящее время одним из новых и наиболее трудно обходимых ботами является плагин Он разработан для нескольких наиболее распространенных (CMS), таких как Joomla, Drupal, WordPress и форумных движков vBulletin, SMF, IPB, phpBB и других сайтов на PHP.

Как было сказано, обычно капчи основаны на угадывании искаженных текстовых символов, представ­ленных вдобавок не текстом, а картинкой. В отличие от этого KeyCAPTCHA предлагает посетителю выполнить простое интерактивное задание . Либо по сборке картинки из фрагментов (пазл), либо отыскание парной по тематике картинки.

Выглядит он следующим образом:

При неправильном решении KeyCAPTCHA не происходит обновление страницы, что позволяет пользователю не заполнять поля формы повторно. Это достигается за счет отправки запроса на проверку капчи на сервера KeyCAPTCHA до отправки заполненной формы на защищаемый веб-сервер.

Собирать картинку человеку нетрудно, так как абсолютная точность подгонки совершенно не требуется , достаточно собрать приблизительно верно.

Надежность работы обеспечивается следующими мерами.

  1. Для работы сервиса KeyCAPTCHA используется гео-кластер, в который входят сервера, расположенные в разных дата-центрах Европы. Часть серверов находится в специальных DDoS устойчивых дата-центрах Швейцарии, что обеспечивает надежную работу сервиса в режиме 24x7x365.
  2. KeyCAPTCHA блокирует спамеров, использующих анонимайзеры или анонимные HTTP прокси для рассылки ручного спама.
  3. В браузере посетителя отсутствует информация о правильном решении капчи.
  4. Проверка корректности выполнения задания происходит на сервере KeyCAPTCHA.
  5. Вся передача данных между Вашим веб-сервером, веб-браузером посетителя и сервером KeyCAPTCHA защищается цифровой подписью.
  6. Каждое пришедшее сообщение на сервер KeyCAPTCHA либо на Ваш веб-сервер проходит проверку на корректность цифровой подписи.
  7. При формировании цифровой подписи используется пароль переменной длины (112-165 бит).
  8. KeyCAPTCHA представляет из себя программный код, выполняемый в веб-браузере посетителя, а не статичную картинку, как в обычных капчах.
  9. Получив нашу капчу, ее невозможно передать третьим лицам для выполнения задания, как это делают спамеры, обходя обычные капчи.
  10. Вероятность угадать ответ, расставив подвижные объекты случайным образом, равна 1/30 000 000.
  11. Изображения, используемые в капче, передаются в зашифрованном виде.

KeyCAPTCHA поддерживает два режима работы: Flash и HTML5 . Режим HTML5 обеспечивает работу KeyCAPTCHA в большинстве современных браузерах, таких как Mozilla FireFox, Google Chrome, Safari, а также для работы на iPhone и iPad. Режим Flash разработан для работы в веб-браузерах Internet Explorer и Opera. При загрузке KeyCAPTCHA автоматически определяет режим своей работы в зависимости от браузера посетителя.

Эта капча применительно к Joomla, по заявлению разработчиков (сам не проверял), поддерживает следующие популярные расширения : JComments, yvComment, K2 Comments, JXtened comments, VirtueMart, Community Builder, JomSocial, AlphaRegistration, K2 Registration, DFContact, ALFcontact, Phoca Guestbook, Easybook Reloaded,FlexiContact, JoomlaDonation, ChronoForms, AdsManager, QContacts, Job Board, Mosets Tree, HikaShop, JWHMCS Integrator.

Помимо этого капча для Joomla защищает стандартные формы Joomla: Registration, Contact Us, Reset Password and Remind Username.

Для скачивания плагина и получения возможности работы с ним требуется бесплатная регистрация на сайте https://www.keycaptcha.com/ . Вы задаете, на каких сайтах будете использовать плагин, указываете тип CMS и его версию и получаете ссылку на скачивание и конкретно для вас уникальный персональный секретный ключ и код скрипта . Эти данные вставляете в параметры плагина при его активации.

На этом на сегодня все.

Чтобы не пропустить ничего из публикуемых материалов, вы можете подписаться на одну из RSS лент : Все новости сайта , Новости раздела « Сказки Старого Юзера » или Новости раздела « Мир Андроида ».

Обсуждение этой статьи можно проводить в

9 февраля 2011 в 00:28

Как защитить форум на движке phpBB от автоматических регистраций

  • Спам и антиспам

Форумный движок phpBB обладает большим количеством достоинств, он удобен и для пользователей и для модераторов и, как следствие, очень популярен. Но именно популярность порождает его главный недостаток — его спамят, причем спамят в автоматическом режиме. Через некоторое время постоянный поток регистраций новых фейковых пользователей и спам сообщений от них может порядком поистрепать нервы администрации сайта.

PhpBB версии 3.* в базовой поставке содержит аж 4 варианта каптчи, которые можно предлагать пользователям при регистрации на форуме. Есть даже recaptcha , однако для автосабмиттеров, как показывает практика, это не помеха.

Эти программы знают как выглядят типовые точки входа на страницы регистрации различных форумных движков. Знание это основано на распознавании DOM-моделей вебстраниц, содержащих формы для регистрации новых пользователей, для постинга сообщений и так далее. То есть, например, в случае phpBB робот знает, что точка входа для регистрации находится по адресу /ucp.php?mode=register и что на этой странице есть кнопка вида:

Не вдаваясь в технические подробности, отмечу что найти и нажать эту кнопку в html-документе уже можно как минимум по id или по name.

Как только робот добирается до страницы с каптчей, он получает картинку каптчи и пытается распознать её. Тут могут применяться различные технологии, в зависимости от изощренности программы, от OCR-алгоритмов до простого распознавания каптчи живым человеком. Именно поэтому защита не срабатывает. Бан IP-адресов на форуме также абсолютно бесполезен, так как роботы спамят через многочисленные прокси сервера. В этом смысле нет разницы банить адреса или чистить новые авторегистрации, всё так или иначе сводится к потере времени.

Получается, что единственный способ отсечь автосабмиттеры — немного видоизменить разметку точки входа на форум уникальным образом. Еще года два-три назад для phpBB2 я проделал такой фокус и это сработало — автоматические регистрации прекратились. Тоже самое недавно удалось подтвердить на другом сайте, уже на движке на phpBB3.

Далее я приведу конкретный проверенный пример видоизменения страницы регистрации phpBB. Однако хотелось бы оговориться, что данный пост предлагает концепцию защиты от автоматических регистраций на форумах, а не конкретные способы. Всё зависит от рук и головы администратора форума. Желательно обладать элементарными знаниями html и css. Если читатели начнут массово копировать данный способ, то эту «эвристику» спамеры запрограммируют в свой софт и автоматические регистрации продолжатся.

Итак, выбираем настройках phpBB форума самую простую каптчу «CAPTHA без GD».
Выглядит в браузере (FF3) это так:

Если посмотреть на разметку страницы регистрации в районе картинки с каптчей, то она выглядит так:

Собственно атрибут src в теге img и содержит картинку с каптчей. Открываем фолдер с текущей темой, установленной на форуме. В моем случае это prosilver: /forum/styles/prosilver/template. В нём находим файл captcha_default.html. Если посмотреть в этот шаблон, то видно место, в котором формируется вышеупомянутая разметка:

Лёгким телодвижением усложним жизнь автосабмиттерам:

Выглядеть в браузере это будет теперь так:

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

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

Проблема бизнеса

Любой софтверный бизнес рано или поздно столкнется с комплексом проблем, способных негативно отразиться на доходах компании, ее репутации и положению на рынке. Каждый программный продукт содержит в себе уникальные механизмы и данные. Большинство из них относится к строжайшей коммерческой тайне, которая ни в коем случае не должна стать известной кому-либо за пределами компании. При этом программный продукт может совершенно легально попасть в руки самым разным компаниям и лицам. Среди них обязательно найдутся те, кто захочет нечестным путем извлечь выгоду от отсутствующей или слабой защиты софта.

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

Проблемы, с которыми может столкнуться вендор:

Прямые и потенциальные конкуренты Компании, разрабатывающие аналогичный продукт, будут пытаться получить ценные алгоритмы, которые используются в вашем программнои продукте, чтобы использовать их при собственной разработке.
Недобросовестные пользователи Многие ваши текущие или потенциальные клиенты предпочтут не платить деньги за пользование программным продуктом, особенно если это будет просто сделать.
Профессиональные хакеры На рынке существует немало специалистов, которые практикуют взлом на заказ. Если они преуспеют, то в лучшем случае вашей программой будет пользоваться 1 компания, а в худшем — на рынке появится ваш конкурент.
Слабая модель продаж Выбор и реализация схемы лицензирования программного обеспечения представляет собой важный этап в предпродажной подготовке программного обеспечения. Неэффективная модель монетизации неизбежно приведет к упущенной выгоде.
Отсутствие гибкости Любой рынок меняется постоянно и зачастую очень стремительно. Важная составляющая бизнеса уметь быстро подстроиться под новые потребности покупателей — от изменения набора отгружаемых продуктов и модулей, до смены всей модели лицензирования и предоставления клиенту индивидуальных условий.
Высокая стоимость владения Использование негибких и неэффективных инструментов увеличивает время выполнения внутренних бизнес-процессов вендора. Например, выпуск новой версии ПО, создание лицензии, доставка ее клиенту и т.д. Чем больше ручной работы уходит на поддержку этих процессов, тем выше операционные расходы и меньше прибыль.

Решение для бизнеса

Стек технологий и продуктов Guardant позволяет обеспечить комплексное решение проблем по защите и лицензированию программных продуктов. Ключевые особенности:

Автоматическое заполнение alt изображениям на сайте на PHP

Атрибут «alt» у изображений позволяет передать пользователю некоторую информацию о нем до того момента, пока изображение полностью не загрузилось или оно вовсе отсутствует.

Большинство сеошников при оптимизации сайтов стараются избавиться от пустых альтов. Эти же рекомендации и дает всем известный валидатор HTML-разметки.

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

В главный файл вашего сайта (CMS), а чаще всего это файл index.php, в самый верх вставьте скрипт:

Мастер Йода рекомендует:  Аспектно-ориентированная веб-разработка и PHP

После этого поставленная задача должна благополучно решиться. Что делает этот скрипт? Он ищет все изображения на странице, у которой отсутствует тег alt или же он пустой, после чего добавляет его, а в качестве содержимого использует название самого изображения.

Вполне удобно. По желанию скрипт можно переделать под определенную переменную в вашем скрипте.

Защита Web-форм от автоматической обработки

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

Требования: PHP>=4.0.6, GD >=2.0.

Исходные тексты можно скачать тут.

Данная статья написана по мотивам статьи Nathan Rohler «Security Images in PHP» опубликованной на сайте #Dev Shed 9 августа 2004 года. Вообще, с начала, меня посетила мысль ее перевода, но, во первых автор выбрал интересный, но не самый тривиальный вариант решения проблемы, а во вторых, мне бы вряд ли удалость сформулировать на русском языке такое обилие мыслей.

Последнее время, в связи с распространяющейся эпидемией спама, веб-мастера, стали все чаще и чаще прятать адреса своей электронной почты (E-Mail). Многие стали использовать формы обратной связи. Но как оказалось, такую защиту можно обойти. И уже на сегодняшний день, существует огромное количество программ, предназначенных для рассылки спама, через формы обратной связи.

Наша задача — сделать так, чтобы сообщение вам смог отправить только «живой человек». Чаще всего, для этого используют небольшие картинки, на которых выводится текст. Пользователя просят продублировать этот текст в поле ввода. Если дублирование производится неверно, то форма не обрабатывается.

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

Генерация изображения

Автор предложил следующий алгоритм: сложное изображение на картинке формируется с помощью заранее подготовленных подложек. После чего на подложки выводится текст, случайным шрифтом, случайного размер и, естественно, случайного содержания.

Основной недостаток такого алгоритма заключается в том, что существующую «подложку» можно быстро вычислить. А после этого вычесть из изображения, которое необходимо распознать и таким образом получить картинку с чистым текстом. А для распознания такого текста уже сегодня существует масса программ.

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

Я бы предложил следующий алгоритм:

  1. Создаем подложку (для этого можно использовать алгоритм построения фракталов)
  2. Добавляем помехи — несколько случайных линий, цвета основного текста.
  3. Выводим основной текст
  4. Самое интересное — увеличиваем изображение в неровное количество раз — например, в 1.7, в 1.6
  5. Уменьшаем изображение до оригинальных размеров

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

Если вам кажется, что рисовать фрактал слишком сложно, то можно нарисовать простую сетку.

Принцип работы механизма

При заходе пользователя на страницу с формой, мы создаем сессию и записываем в зарегистрированную переменную случайный код:

session_start ( ) ;
session_register ( «secret_number» ) ;

if ( intval ( $_SESSION [ «secret_number» ] ) 1000 ) <
srand ( doubleval ( microtime ( ) ) ) ;
$_SESSION [ «secret_number» ] = rand ( 1000 , 9999 ) ;
>

После того как случайный текст сгенерирован, необходимо вывести форму:

Скрипт, обрабатывающий данные, отправленные при помощи формы, должен работать примерно следующим образом:

session_start ( ) ;
session_register ( «secret_number» ) ;

if ( $_SERVER [ «REQUEST_METHOD» ] == «POST» ) <

$error = 0 ;
if ( $_POST [ «secretcode» ] != $_SESSION [ «secret_number» ] ||
intval ( $_POST [ «secretcode» ] ) == 0 ) $error = 1 ;

if ( $error == 0 ) <
$_SESSION [ «secret_number» ] = rand ( 1000 , 9999 ) ;

// Выполняем необходимые действия с данными
// ..
print «Hello » . htmlspecialchars ( StripSlashes ( $_POST [ «email» ] ) ) ;
exit ;
>

if ( $error == 1 )
print » Число с картинки введено неверно » ;
>

// Выводим форму повторно
// .

Генерация изображения

// Регистрируем переменную
session_start ( ) ;
session_register ( «secret_number» ) ;

function mt ( ) <
list ( $usec , $sec ) = explode ( ‘ ‘ , microtime ( ) ) ;
return ( float ) $sec + ( ( float ) $usec * 100000 ) ;
>

header ( «Content-type: image/png» ) ;

// создаем изображение
$im = imagecreate ( 101 , 26 ) ;

// Выделяем цвет фона (белый)
$w = imagecolorallocate ( $im , 255 , 255 , 255 ) ;

// Выделяем цвет для фона (светло-серый)
$g1 = imagecolorallocate ( $im , 192 , 192 , 192 ) ;

// Выделяем цвет для более темных помех (темно-серый)
$g2 = imagecolorallocate ( $im , 64 , 64 , 64 ) ;

// Выделяем четыре случайных темных цвета для символов
$cl1 = imagecolorallocate ( $im , rand ( 0 , 128 ) , rand ( 0 , 128 ) , rand ( 0 , 128 ) ) ;
$cl2 = imagecolorallocate ( $im , rand ( 0 , 128 ) , rand ( 0 , 128 ) , rand ( 0 , 128 ) ) ;
$cl3 = imagecolorallocate ( $im , rand ( 0 , 128 ) , rand ( 0 , 128 ) , rand ( 0 , 128 ) ) ;
$cl4 = imagecolorallocate ( $im , rand ( 0 , 128 ) , rand ( 0 , 128 ) , rand ( 0 , 128 ) ) ;

// Рисуем сетку
for ( $i = 0 ; $i 100 ; $i += 5 ) imageline ( $im , $i , 0 , $i , 25 , $g1 ) ;
for ( $i = 0 ; $i 25 ; $i += 5 ) imageline ( $im , 0 , $i , 100 , $i , $g1 ) ;


// Выводим каждую цифру по отдельности, немного смещая случайным образом
imagestring ( $im , 5 , 0 + rand ( 0 , 10 ) , 5 + rand ( — 5 , 5 ) ,
substr ( $_SESSION [ «secret_number» ] , 0 , 1 ) , $cl1 ) ;
imagestring ( $im , 5 , 25 + rand ( — 10 , 10 ) , 5 + rand ( — 5 , 5 ) ,
substr ( $_SESSION [ «secret_number» ] , 1 , 1 ) , $cl2 ) ;
imagestring ( $im , 5 , 50 + rand ( — 10 , 10 ) , 5 + rand ( — 5 , 5 ) ,
substr ( $_SESSION [ «secret_number» ] , 2 , 1 ) , $cl3 ) ;
imagestring ( $im , 5 , 75 + rand ( — 10 , 10 ) , 5 + rand ( — 5 , 5 ) ,
substr ( $_SESSION [ «secret_number» ] , 3 , 1 ) , $cl4 ) ;

// Выводим пару случайных линий тесного цвета, прямо поверх символов.
// Для увеличения количества линий можно увеличить,
// изменив число выделенное красным цветом
for ( $i = 0 ; $i 8 ; $i ++ )
imageline ( $im , rand ( 0 , 100 ) , rand ( 0 , 25 ) , rand ( 0 , 100 ) , rand ( 0 , 25 ) , $g2 ) ;

// Коэффициент увеличения/уменьшения картинки
$k = 1.7 ;

// Создаем новое изображение, увеличенного размера
$im1 = imagecreatetruecolor ( 101 * $k , 26 * $k ) ;

// Копируем изображение с изменением размеров в большую сторону
imagecopyresized ( $im1 , $im , 0 , 0 , 0 , 0 , 101 * $k , 26 * $k , 101 , 26 ) ;

// Создаем новое изображение, нормального размера
$im2 = imagecreatetruecolor ( 101 , 26 ) ;

// Копируем изображение с изменением размеров в меньшую сторону
imagecopyresampled ( $im2 , $im1 , 0 , 0 , 0 , 0 , 101 , 26 , 101 * $k , 26 * $k ) ;

// Генерируем изображение
imagepng ( $im2 ) ;

// Освобождаем память
imagedestroy ( $im2 ) ;
imagedestroy ( $im1 ) ;
imagedestroy ( $im ) ;
?>

Вроде все. Если что-то, оставляйте комментарии.

Защита от автоматической регистрации при помощи картинки. CAPTCHA — защита от автоматической регистрации

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

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

Очень часто возникает необходимость защиты от таких ботов. Как правило, в основном защита организуется в виде какого то дополнительно параметра, который должен быть введен в одно из полей формы, и который бот никак не сможет определить. Это реализуется при помощи картинки с буквами или цифрами (или и тем и другим одновременно) через сессии или через ip посетителей. В данной статье я помогу вам разобраться как сделать такую картинку при помощи php и mysql в считанные минуты.

Для начала создадим небольшую таблицу базы данных, в которой будут временно храниться ip посетителей и значения цифр, изображенных на картинке:

CREATE TABLE test (IP char(15) NOT NULL, Number char(3), PRIMARY KEY(IP))

Тип поля Number указывает, что у нас будут выводится по три цифры на каждой картинке.

Пусть у нас есть некая форма, корорая отправляет данные странице ok.php. Часть кода страницы, на которой расположенна форма будет выглядить следующим образом.

Код файла index.php:

На форме расположенны два поля для ввода данных (Имя и Текст) и поле для ввода значения цифр с картинки (которое имеет имя intext)

Определяем ip посетителя страницы.

Рисуем кнопку отправки данных и закрываем форму ��

Код файла pic.php:

Из того, что вы должны знать в этом коде: $rgb — цвет фона картинки, $textcolor — цвет цифр, выводимых на картинке. Как вы заметили, формироваться будет изображение в формате GIF.

Теперь осталось последнее, обработка данных полученных в форме в файле ok.php (куда эти данные собственно и передаются).

Код файла ok.php:

Опять же, определяем ip пользователя и сравниваем, записан ли такой адрес в таблицу test. Если да, проверяем:

те ли цифры пользователь ввел в форму в текстовое поле intext, которые были отображены на картинке и записаны возле его ip адреса в базе данных. Вот и все ��

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

Форумный движок phpBB обладает большим количеством достоинств, он удобен и для пользователей и для модераторов и, как следствие, очень популярен. Но именно популярность порождает его главный недостаток — его спамят, причем спамят в автоматическом режиме. Через некоторое время постоянный поток регистраций новых фейковых пользователей и спам сообщений от них может порядком поистрепать нервы администрации сайта.

PhpBB версии 3.* в базовой поставке содержит аж 4 варианта каптчи, которые можно предлагать пользователям при регистрации на форуме. Есть даже recaptcha , однако для автосабмиттеров, как показывает практика, это не помеха.

Эти программы знают как выглядят типовые точки входа на страницы регистрации различных форумных движков. Знание это основано на распознавании DOM-моделей вебстраниц, содержащих формы для регистрации новых пользователей, для постинга сообщений и так далее. То есть, например, в случае phpBB робот знает, что точка входа для регистрации находится по адресу /ucp.php?mode=register и что на этой странице есть кнопка вида:

Не вдаваясь в технические подробности, отмечу что найти и нажать эту кнопку в html-документе уже можно как минимум по id или по name.

Как только робот добирается до страницы с каптчей, он получает картинку каптчи и пытается распознать её. Тут могут применяться различные технологии, в зависимости от изощренности программы, от OCR-алгоритмов до простого распознавания каптчи живым человеком. Именно поэтому защита не срабатывает. Бан IP-адресов на форуме также абсолютно бесполезен, так как роботы спамят через многочисленные прокси сервера. В этом смысле нет разницы банить адреса или чистить новые авторегистрации, всё так или иначе сводится к потере времени.

Получается, что единственный способ отсечь автосабмиттеры — немного видоизменить разметку точки входа на форум уникальным образом. Еще года два-три назад для phpBB2 я проделал такой фокус и это сработало — автоматические регистрации прекратились. Тоже самое недавно удалось подтвердить на другом сайте, уже на движке на phpBB3.

Далее я приведу конкретный проверенный пример видоизменения страницы регистрации phpBB. Однако хотелось бы оговориться, что данный пост предлагает концепцию защиты от автоматических регистраций на форумах, а не конкретные способы. Всё зависит от рук и головы администратора форума. Желательно обладать элементарными знаниями html и css. Если читатели начнут массово копировать данный способ, то эту «эвристику» спамеры запрограммируют в свой софт и автоматические регистрации продолжатся.

Итак, выбираем настройках phpBB форума самую простую каптчу «CAPTHA без GD».
Выглядит в браузере (FF3) это так:

Если посмотреть на разметку страницы регистрации в районе картинки с каптчей, то она выглядит так:

Собственно атрибут src в теге img и содержит картинку с каптчей. Открываем фолдер с текущей темой, установленной на форуме. В моем случае это prosilver: /forum/styles/prosilver/template. В нём находим файл captcha_default.html. Если посмотреть в этот шаблон, то видно место, в котором формируется вышеупомянутая разметка:

Лёгким телодвижением усложним жизнь автосабмиттерам:

Выглядеть в браузере это будет теперь так:

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

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

Проблема бизнеса

Любой софтверный бизнес рано или поздно столкнется с комплексом проблем, способных негативно отразиться на доходах компании, ее репутации и положению на рынке. Каждый программный продукт содержит в себе уникальные механизмы и данные. Большинство из них относится к строжайшей коммерческой тайне, которая ни в коем случае не должна стать известной кому-либо за пределами компании. При этом программный продукт может совершенно легально попасть в руки самым разным компаниям и лицам. Среди них обязательно найдутся те, кто захочет нечестным путем извлечь выгоду от отсутствующей или слабой защиты софта.

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

Проблемы, с которыми может столкнуться вендор:

Прямые и потенциальные конкуренты Компании, разрабатывающие аналогичный продукт, будут пытаться получить ценные алгоритмы, которые используются в вашем программнои продукте, чтобы использовать их при собственной разработке.
Недобросовестные пользователи Многие ваши текущие или потенциальные клиенты предпочтут не платить деньги за пользование программным продуктом, особенно если это будет просто сделать.
Профессиональные хакеры На рынке существует немало специалистов, которые практикуют взлом на заказ. Если они преуспеют, то в лучшем случае вашей программой будет пользоваться 1 компания, а в худшем — на рынке появится ваш конкурент.
Слабая модель продаж Выбор и реализация схемы лицензирования программного обеспечения представляет собой важный этап в предпродажной подготовке программного обеспечения. Неэффективная модель монетизации неизбежно приведет к упущенной выгоде.
Отсутствие гибкости Любой рынок меняется постоянно и зачастую очень стремительно. Важная составляющая бизнеса уметь быстро подстроиться под новые потребности покупателей — от изменения набора отгружаемых продуктов и модулей, до смены всей модели лицензирования и предоставления клиенту индивидуальных условий.
Высокая стоимость владения Использование негибких и неэффективных инструментов увеличивает время выполнения внутренних бизнес-процессов вендора. Например, выпуск новой версии ПО, создание лицензии, доставка ее клиенту и т.д. Чем больше ручной работы уходит на поддержку этих процессов, тем выше операционные расходы и меньше прибыль.

Решение для бизнеса

Стек технологий и продуктов Guardant позволяет обеспечить комплексное решение проблем по защите и лицензированию программных продуктов. Ключевые особенности:

Защита интеллектуальной собственности
  • Противодействие реверс-инжинирингу и анализу кода;
  • Защита программы от взлома и модификации;
  • Защита от бесконтрольного распространения софта;
  • Возможность реализации собственных механизмов защиты.
Безопасное лицензирование продуктов
  • Поддержка практически любых схем лицензирования;
  • Защита от нарушения лицензионных условий
  • Поддержка полного цикла продаж — от первичной отгрузки до удаленного обновления лицензии;
  • Технология создания индивидуальных лицензионных условий под клиента;
  • Возможность реализации собственных алгоритмов монетизации.
Эффективное использование технологий
  • Высокая степень автоматизации процессов защиты и выписки лицензий;
  • Возможность интеграции со сторонними системами управления (ERP, CRM и т.д.);
  • Возможность встройки защитных технологий в build-серверы
  • Универсальные механизмы, подходящие для софта практически любого типа.

4 уровень — сложно, требуется сосредоточится, внимание деталям и точному следованию инструкции.

Недоступно в редакциях:

Несколько способов борьбы с автоматической регистрацией ботов.

Добавить в форму регистрации невидимое поле и скрыть его с помощью CSS. Скрывать с учётом того, что особо продвинутые боты обнаруживают display: none . Невидимое поле нужно назвать как-нибудь привлекательно для ботов в контексте содержания сайта: Компания, telefpone. К этому полю можно поставить знак * , — бот решит что без его заполнения не отправится форма.

Мастер Йода рекомендует:  Как мы используем облака трафик в картинках от Google Cloud

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

Другой вариант: подменить поле Имя. Для бота будет стандартное, для пользователей — названное вами, а при регистрации менять значения. Алгоритм регистрации не изменится, бот будет по прежнему вводить поле «имя(стандартное)» и не проходить регистрацию.

Защита по IP

Во-первых , есть вероятность отсеять простого человека который:

  • имеет прокси с этим IP,
  • получил динамический IP который есть в базе (очень малая вероятность),
  • человек, случайно попавший в базу.

Во-вторых , этих IP-адресов тысячи и десятки тысяч и ими не удобно эффективно управлять. Бессмысленно с ними возиться ради ботов, гораздо проще использовать нестандартные приёмы для защиты от автоматической регистрации. Кроме того, уже на нескольких специализированных форумах есть услуга регистрации аккаунтов не через прокси, а с IP реальных людей. Судя по всему используются ботнеты.

Организационные меры защиты

Возможен такой вариант: пользователь после регистрации попадает в группу Новички с минимальными правами. Он может только заполнить профиль и ответить на форуме. Личные сообщения, постинг ссылок, добавление файлов, открытие новой темы и прочего ему запрещено. Как только он оставит на форуме N сообщений (на выбор администратора), он переходит в группу зарегистрированные пользователи , которая имеет базовые пользовательские права.

Можно создать и группу Активные пользователи , которые будут иметь расширенный набор прав и туда пользователь попадёт после набора M сообщений.

Штатно в Bitrix Framework такое реализовать не получится, нужны некоторые доработки. Пример возможного кода:

//при добавлении сообщения форума, если количество сообщений больше FLS_NUM_POSTS, //то припишем пользователя к специальной группе define(«FLS_NUM_POSTS», 50); define(«FLS_FORUM_GROUP», 27); AddEventHandler(«forum», «onAfterMessageAdd», «FlsOnForumMessageAdd»); function FlsOnForumMessageAdd($ ]) >= FLS_NUM_POSTS-1) < //добавим в группу $arGroups = FLS_FORUM_GROUP; //запишем новую группу CUser::SetUserGroup($arFields["AUTHOR_ID"], $arGroups); //обновим сессию текущему пользователю if($GLOBALS["USER"]->Get ]) CUser::SetUserGroupArray($arGroups); > > >

В качестве организационных мер можно предусмотреть:

При использовании организационных мер может оказаться полезным платный модуль Модератор , позволяющий выносить предупреждения и поощрения пользователям, блокировать пользователей на сайте и форуме, скрывать и удалять сообщения конкретного пользователя и многое другое.

Самый «тяжёлый» способ. Не в плане технической реализации, а в плане удобства для пользователей. Суть проста: выполнение регистрации в несколько этапов.

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

Есть более мягкий вариант, когда авторизация происходит в один этап, но в её конце пользователям предлагается завершить авторизацию, заполнив ещё некоторое количество полей. Авторизовать на сайте пользователей можно и сразу, после заполнения минимума обязательных полей. И дать возможность им пользоваться сайтом. Но те из них, которые не сделали завершение авторизации (то есть не заполнили поля, которые их просили заполнить) попадают под подозрение, что они — боты. В дальнейшем их можно будет удалить или ограничить в правах (поместить в группу подозрительных), пока не заполнят.

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

1. Бан по IP адресу

Самым простым и распространенным способом определения попыток парсинга сайта является анализ частоты и периодичности запросов к серверу. Если с какого-то IP адреса запросы идут слишком часто или их слишком много, то этот адрес блокируется и чтобы его разблокировать часто предлагается ввести каптчу.

Самое главное в этом способе защиты — найти границу между естественной частотой и количеством запросов и попытками скрейпинга чтобы не заблокировать ни в чем не винных пользователей. Обычно это определяется посредством анализа поведения нормальных пользователей сайта.

Примером использования этого метода может служить Google, который контроллирует количество запросов с определенного адреса и выдает соответствующее предупреждение с блокировкой IP адреса и предложением ввести каптчу.

Есть сервисы (вроде distilnetworks.com), которые позволяют автоматизировать процесс отслеживания подозрительной активности на вашем сайте и даже сами включают проверку пользователя с помощью каптчи.

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

2. Использование учетных записей

В этом способе защиты доступ к данным осуществляется только авторизованным пользователям. Это позволяет легче контролировать поведение пользователей и блокировать подозрительные аккаунты вне зависимости от того, с какого IP адреса работает клиент.

Примером может служить Facebook, активно контролирующий действия пользователей и блокирующий подозрительных.

Эта защита обходится путем создания (в том числе автоматического) множества учетных записей (есть даже сервисы, которые торгуют готовыми учетными записями для известных социальных сетей, например buyaccs.com и bulkaccounts.com). Cущественным усложнением автоматического создания учетных записей может являться необходимость верификации аккаунта посредством телефона с проверкой его уникальности (так называемые, PVA -Phone Verified Account). Но, в принципе, это тоже обходится путем покупки множества одноразовых SIM-карт.

3. Использование CAPTCHA

Это тоже распространенный метод защиты данных о парсинга. Здесь пользователю для доступа к данным сайта предлагается ввести капчу (CAPTCHA). Существенным недостатком этого способа можно считать неудобство пользователя в необходимости ввода капчи. Поэтому этот метод лучше всего применим в системах, где доступ к данным осуществляется отдельными запросами и не очень не часто.

Примером использования каптчи для защиты от автоматического создания запросов могут служить сервисы проверки позиции сайта в поисковой выдаче (например https://smallseotools.com/keyword-position/).

Обходится каптча посредством программ и сервисов по ее распознаванию. Они делятся на две основные категории: автоматическое распознавание без участия человека (OCR, например программа GSA Captcha Breaker) и распознавания с помощью человека (когда где-то в Индии сидят люди и в режиме онлайн обрабатывают запросы на распознание картинок, напримером может служить сервис Bypass CAPTCHA). Человеческое распознание обычно более эфективно, но оплата в данном случае происходит за каждую каптчу, а не один раз, как при покупке программы.

4. Использование сложной JavaScript логики

Здесь в запросе к серверу браузер отсылает специальный код (или несколько кодов), которые сформированы сложной логикой написанной на JavsScript. При этом, часто код этой логики обфусцирован и размещен в одном или нескольких подгружаемых JavaScript-файлах.

Типичным примером использования данного метода защиты от парсинга является Facebook.

Обходится это посредством использования для парсинга реальных браузеров (например, с помощью библиотек Selenium или Mechanize). Но это дает данному методу дополнителое преимущество: исполняя JavaScript парсер будет проявлять себя в аналитике посещаемости сайта (например Google Analytics), что позволит вебмастеру сразу заметить неладное.

5. Динамическое изменение структуры страницы

Один из эффективных способов защиты от автоматического парсинга — это частое изменение структуры страницы. Это может касаться не только изменение названий идентификаторов и классов, но даже и иерархии элементов. Это сильно усложняет написание парсера, но с другой стороны усложняет и код самой системы.

С другой стороны, эти изменения могут делаться в ручном режиме где-то раз в месяц (или несколько месяцев). Это тоже существенно испортит жизнь парсерам.

Чтобы обойти такую защиту требуется создание более гибкого и «умного» парсера или же (если изменения делаются не часто) просто ручное исправление парсера, когда эти изменения произошли.

6. Ограничение частоты запросов и объемов загружаемых данных

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

Обходится это посредством доступа к сайту с разных IP адресов или учетных записей (симуляция многих пользователей).

7. Отображение важных данных в виде картинок

Данный способ защиты контента позволяет усложнить автоматический сбор данных, при этом сохранив визуальный доступ к ним со стороны обычного пользователя. Часто на картинки заменяются адреса электронной почты и телефоны, но некоторые сайты умудряются заменять картинками даже случайные буквы в тексте. Хотя ничто не мешает полностью выводить содержимое сайта в виде графики (будь то Flash или HTML 5), однако при этом может существенно пострадать его индексируемость поисковиками.

Минус этого способа не только в том, что не весь контент будт индексироваться поисковиками, но и в том, что исключается возможность пользователю скопировать данные в буфер обмена.

Обходится такая защита сложно, скорее всего нужно применять автоматическое или ручное распознавание картинок, как и в случае капчи.

PHP Скрипт для графической защиты от автоматических регистраций ( Image Code )

Продажа товара приостановлена.

Попробуйте поискать похожий товар у других продавцов.

Продаж: 18 последняя 16.05.2009
Возвратов: 0

Загружен: 06.09.2006
Содержимое: imgcode.zip 192,15 Кбайт

Продавец

Описание товара


Скрипт для графической защиты от автоматических регистраций ( Image Code )
с 7 вариантами шрифтов. Незаменим при разработке форумов, форм, досок.
Аккуратный дизайн

Простой в использовании, но позволяет создать
профессиональную защиту от автоматических регистраций ( постов ).

Преимущества:
Все данные передаются через php sesshion, что делает
невозможным подделку результатов роботами.
Предусмотрена защита от кэширования в прокси серверах.
Алгоритм работы предусматривает проверку даже при загрузке
картинки ПОСЛЕ загрузки страницы.
(в случае если у посетителя были отключены картинки )
7 различных встроенных типов текста ( фонтов ) с возможностью
добавления новых фонтов
Автоматическая проверка наличия библиотеки GD ( для использования в коммерческих программах )
Очень простой, установка не требует глубоких знаний php
Открытый исходный код

readme.txt — этот файл
img.php — генератор картинки
test.php — пример проверки с формой
fonts — директория с фонтами.

Выбирая разные фонты Вы легко можете изменить внешний вид
букв не меняя исходного кода

Дополнительная информация

требует библиотеки GD для php
( обычно присутствует на всех хостингах )

Отзывы

С товаром «PHP Скрипт для графической защиты от автоматических регистраций ( Image Code )» также смотрят:

В целях противодействия нарушению авторских прав и права собственности, а также исключения необоснованных обвинений в адрес администрации сайта о пособничестве такому нарушению, администрация торговой площадки Plati (https://www.plati.market) обращается к Вам с просьбой — в случае обнаружения нарушений на торговой площадке Plati, незамедлительно информировать нас по адресу support@plati.market о факте такого нарушения и предоставить нам достоверную информацию, подтверждающую Ваши авторские права или права собственности. В письме обязательно укажите ваши контактные реквизиты (Ф.И.О., телефон).

В целях исключения необоснованных и заведомо ложных сообщений о фактах нарушения указанных прав, администрация будет отказывать в предоставлении услуг на торговой площадке Plati, только после получения от Вас письменных заявлений о нарушении с приложением копий документов, подтверждающих ваши авторские права или права собственности, по адресу: 123007, г. Москва, Малый Калужский пер. д.4, стр.3, Адвокатский кабинет «АКАР №380».

В целях оперативного реагирования на нарушения Ваших прав и необходимости блокировки действий недобросовестных продавцов, Plati просит Вас направить заверенную телеграмму, которая будет являться основанием для блокировки действий продавца, указанная телеграмма должна содержать указание: вида нарушенных прав, подтверждения ваших прав и ваши контактные данные (организиционно-правовую форму лица, Ф.И.О.). Блокировка будет снята по истечение 15 дней, в случае непредставления Вами в Адвокатский кабинет письменных документов подтверждающих ваши авторские права или права собственности.

Защита от автоматической регистрации при помощи картинки PHP

Частная коллекция качественных материалов для тех, кто делает сайты

  • Фотошоп-мастер2000+ уроков по фотошопу
  • Фото-монстр300+ уроков для фотографов
  • Видео-смайл200+ уроков по видеообработке
  • Жизнь в стиле «Кайдзен» Техники и приемы для гармоничной и сбалансированной жизни

В этом разделе помещены уроки по PHP скриптам, которые Вы сможете использовать на своих ресурсах.

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Совет: активация отображения всех ошибок в PHP

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

Агент

PHP парсер юзер агента с поддержкой Laravel, работающий на базе библиотеки Mobile Detect.

Защита картинок от прямого скачивания (hotlinking) с помощью htaccess

Сегодня расскажу как защитить ваш контент от скачивания ну и заодно разгрузить немного свой сервер сэкономив траффик.

Итак, имеем сервер, на котором установлен Apache2 и у него подключен модуль mod_rewrite (скорее всего подключен – у Вас ведь уже есть ЧПУ?) . Стоит задача защитить картинки от прямого скачивания, но при этом позволить поисковикам индексировать наши картинки + разрешить использование картинок на своих блогах на других блог-платформах.

В не легком деле защиты нам поможет файл .htaccess, расположенный в коневой директории вашего сайта. Apache2 читает этот файл при каждом обращении к сайту и выполняет все инструкции из него – добавим ему немного работы ��

Пусть наш сайт называется www.mysyte.com

Этот код будет перекидывать всех пытающихся просмотреть ваши картинки напрямую на главную страницу сайт. В принципе вместо https://www.mysyte.com можно написать какую-то картинку или вообще выдавать 403 ошибку – выбор за вами. Пример с выдачей ошибки ():

Теперь добавим в условия поисковых ботов:

В следующем посте я расскажу как сделать аналогичную защиту на связке Nginx+Apache2

Нужен скрипт защитной картинки от авто-регистрации

30.09.2006, 11:57

Нужен скрипт регистрации и авторизации с проверкой
Всем привет товарищи! Нужна книга или ссылка на статью, а ещё лучше готовый срипт регистрации и.

Нужен скрипт регистрации пользователей на PHP
помогите зделать регистрацию на сайте я зделал но чтото не правильно

Нужен скрипт для подбора авто аккумулятора по характеристикам
Народ, помогите! Нужен скрипт для подбора авто аккумулятора по характеристикам. На подобии.

Нужен php скрипт по подбору шин и дисков для авто
Всем привет. Есть база данных с размерами шин и дисков по определенный марке. Вообщем нужен php.

Авто уменьшение картинки
Если делать так при.

Защита от автоматической регистрации particular. Защита от автоматической регистрации при помощи картинки

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

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

Мастер Йода рекомендует:  SQL-инъекция в Peel

Очень часто возникает необходимость защиты от таких ботов. Как правило, в основном защита организуется в виде какого то дополнительно параметра, который должен быть введен в одно из полей формы, и который бот никак не сможет определить. Это реализуется при помощи картинки с буквами или цифрами (или и тем и другим одновременно) через сессии или через ip посетителей. В данной статье я помогу вам разобраться как сделать такую картинку при помощи php и mysql в считанные минуты.

Для начала создадим небольшую таблицу базы данных, в которой будут временно храниться ip посетителей и значения цифр, изображенных на картинке:

CREATE TABLE test (IP char(15) NOT NULL, Number char(3), PRIMARY KEY(IP))

Тип поля Number указывает, что у нас будут выводится по три цифры на каждой картинке.

Пусть у нас есть некая форма, корорая отправляет данные странице ok.php. Часть кода страницы, на которой расположенна форма будет выглядить следующим образом.

Код файла index.php:

На форме расположенны два поля для ввода данных (Имя и Текст) и поле для ввода значения цифр с картинки (которое имеет имя intext)

Определяем ip посетителя страницы.

Рисуем кнопку отправки данных и закрываем форму ��

Код файла pic.php:

Из того, что вы должны знать в этом коде: $rgb — цвет фона картинки, $textcolor — цвет цифр, выводимых на картинке. Как вы заметили, формироваться будет изображение в формате GIF.

Теперь осталось последнее, обработка данных полученных в форме в файле ok.php (куда эти данные собственно и передаются).

Код файла ok.php:

Опять же, определяем ip пользователя и сравниваем, записан ли такой адрес в таблицу test. Если да, проверяем:

те ли цифры пользователь ввел в форму в текстовое поле intext, которые были отображены на картинке и записаны возле его ip адреса в базе данных. Вот и все ��

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

И я представлю вам один из необходимых плагинов (расширений), а именно средство для защиты сайта от спама . Конкретно, речь пойдет о плагине KeyCAPTCHA .

Известно, что в настоящее время спам (несанкционированная отправка писем на email, комментариев на сайт или не относящихся к теме обсуждения постов на форум, носящих в основном рекламный характер) и автоматическая регистрация на сайтах и форумах распространились настолько, что приобрели характер эпидемии. Причем эта работа поручается специально разработанным программам – ботам.

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

Одним из таких средств является (капча). Это аббревиатура от английских слов «Completely Automatic Public Turing Test to Tell Computers and Humans Apart» — в переводе полностью автоматический тест Тьюринга для различения компьютеров и людей. Иными словами, это задача, которую легко решает человек, но которую невозможно (или крайне трудно) научить решать компьютер.

Применяются CAPTCHA для того, чтобы предотвратить множественные автоматические регистрации и отправления сообщений программами-роботами. Т. е. задача CAPTCHA — защита от спама, флуда и захвата аккаунтов.

Чаще всего CAPTCHA выглядит как тем или иным образом зашумленное случайное число, слово или иная надпись, представленные в виде рисунка, которую пользователю нужно прочитать и ввести прочитанный результат, как например, стандартная капча в Joomla.

В настоящее время одним из новых и наиболее трудно обходимых ботами является плагин Он разработан для нескольких наиболее распространенных (CMS), таких как Joomla, Drupal, WordPress и форумных движков vBulletin, SMF, IPB, phpBB и других сайтов на PHP.

Как было сказано, обычно капчи основаны на угадывании искаженных текстовых символов, представ­ленных вдобавок не текстом, а картинкой. В отличие от этого KeyCAPTCHA предлагает посетителю выполнить простое интерактивное задание . Либо по сборке картинки из фрагментов (пазл), либо отыскание парной по тематике картинки.

Выглядит он следующим образом:

При неправильном решении KeyCAPTCHA не происходит обновление страницы, что позволяет пользователю не заполнять поля формы повторно. Это достигается за счет отправки запроса на проверку капчи на сервера KeyCAPTCHA до отправки заполненной формы на защищаемый веб-сервер.

Собирать картинку человеку нетрудно, так как абсолютная точность подгонки совершенно не требуется , достаточно собрать приблизительно верно.

Надежность работы обеспечивается следующими мерами.

  1. Для работы сервиса KeyCAPTCHA используется гео-кластер, в который входят сервера, расположенные в разных дата-центрах Европы. Часть серверов находится в специальных DDoS устойчивых дата-центрах Швейцарии, что обеспечивает надежную работу сервиса в режиме 24x7x365.
  2. KeyCAPTCHA блокирует спамеров, использующих анонимайзеры или анонимные HTTP прокси для рассылки ручного спама.
  3. В браузере посетителя отсутствует информация о правильном решении капчи.
  4. Проверка корректности выполнения задания происходит на сервере KeyCAPTCHA.
  5. Вся передача данных между Вашим веб-сервером, веб-браузером посетителя и сервером KeyCAPTCHA защищается цифровой подписью.
  6. Каждое пришедшее сообщение на сервер KeyCAPTCHA либо на Ваш веб-сервер проходит проверку на корректность цифровой подписи.
  7. При формировании цифровой подписи используется пароль переменной длины (112-165 бит).
  8. KeyCAPTCHA представляет из себя программный код, выполняемый в веб-браузере посетителя, а не статичную картинку, как в обычных капчах.
  9. Получив нашу капчу, ее невозможно передать третьим лицам для выполнения задания, как это делают спамеры, обходя обычные капчи.
  10. Вероятность угадать ответ, расставив подвижные объекты случайным образом, равна 1/30 000 000.
  11. Изображения, используемые в капче, передаются в зашифрованном виде.

KeyCAPTCHA поддерживает два режима работы: Flash и HTML5 . Режим HTML5 обеспечивает работу KeyCAPTCHA в большинстве современных браузерах, таких как Mozilla FireFox, Google Chrome, Safari, а также для работы на iPhone и iPad. Режим Flash разработан для работы в веб-браузерах Internet Explorer и Opera. При загрузке KeyCAPTCHA автоматически определяет режим своей работы в зависимости от браузера посетителя.

Эта капча применительно к Joomla, по заявлению разработчиков (сам не проверял), поддерживает следующие популярные расширения : JComments, yvComment, K2 Comments, JXtened comments, VirtueMart, Community Builder, JomSocial, AlphaRegistration, K2 Registration, DFContact, ALFcontact, Phoca Guestbook, Easybook Reloaded,FlexiContact, JoomlaDonation, ChronoForms, AdsManager, QContacts, Job Board, Mosets Tree, HikaShop, JWHMCS Integrator.

Помимо этого капча для Joomla защищает стандартные формы Joomla: Registration, Contact Us, Reset Password and Remind Username.

Для скачивания плагина и получения возможности работы с ним требуется бесплатная регистрация на сайте https://www.keycaptcha.com/ . Вы задаете, на каких сайтах будете использовать плагин, указываете тип CMS и его версию и получаете ссылку на скачивание и конкретно для вас уникальный персональный секретный ключ и код скрипта . Эти данные вставляете в параметры плагина при его активации.

На этом на сегодня все.

Чтобы не пропустить ничего из публикуемых материалов, вы можете подписаться на одну из RSS лент : Все новости сайта , Новости раздела « Сказки Старого Юзера » или Новости раздела « Мир Андроида ».

Обсуждение этой статьи можно проводить в

9 февраля 2011 в 00:28

Как защитить форум на движке phpBB от автоматических регистраций

  • Спам и антиспам

Форумный движок phpBB обладает большим количеством достоинств, он удобен и для пользователей и для модераторов и, как следствие, очень популярен. Но именно популярность порождает его главный недостаток — его спамят, причем спамят в автоматическом режиме. Через некоторое время постоянный поток регистраций новых фейковых пользователей и спам сообщений от них может порядком поистрепать нервы администрации сайта.

PhpBB версии 3.* в базовой поставке содержит аж 4 варианта каптчи, которые можно предлагать пользователям при регистрации на форуме. Есть даже recaptcha , однако для автосабмиттеров, как показывает практика, это не помеха.

Эти программы знают как выглядят типовые точки входа на страницы регистрации различных форумных движков. Знание это основано на распознавании DOM-моделей вебстраниц, содержащих формы для регистрации новых пользователей, для постинга сообщений и так далее. То есть, например, в случае phpBB робот знает, что точка входа для регистрации находится по адресу /ucp.php?mode=register и что на этой странице есть кнопка вида:

Не вдаваясь в технические подробности, отмечу что найти и нажать эту кнопку в html-документе уже можно как минимум по id или по name.

Как только робот добирается до страницы с каптчей, он получает картинку каптчи и пытается распознать её. Тут могут применяться различные технологии, в зависимости от изощренности программы, от OCR-алгоритмов до простого распознавания каптчи живым человеком. Именно поэтому защита не срабатывает. Бан IP-адресов на форуме также абсолютно бесполезен, так как роботы спамят через многочисленные прокси сервера. В этом смысле нет разницы банить адреса или чистить новые авторегистрации, всё так или иначе сводится к потере времени.

Получается, что единственный способ отсечь автосабмиттеры — немного видоизменить разметку точки входа на форум уникальным образом. Еще года два-три назад для phpBB2 я проделал такой фокус и это сработало — автоматические регистрации прекратились. Тоже самое недавно удалось подтвердить на другом сайте, уже на движке на phpBB3.

Далее я приведу конкретный проверенный пример видоизменения страницы регистрации phpBB. Однако хотелось бы оговориться, что данный пост предлагает концепцию защиты от автоматических регистраций на форумах, а не конкретные способы. Всё зависит от рук и головы администратора форума. Желательно обладать элементарными знаниями html и css. Если читатели начнут массово копировать данный способ, то эту «эвристику» спамеры запрограммируют в свой софт и автоматические регистрации продолжатся.

Итак, выбираем настройках phpBB форума самую простую каптчу «CAPTHA без GD».
Выглядит в браузере (FF3) это так:

Если посмотреть на разметку страницы регистрации в районе картинки с каптчей, то она выглядит так:

Собственно атрибут src в теге img и содержит картинку с каптчей. Открываем фолдер с текущей темой, установленной на форуме. В моем случае это prosilver: /forum/styles/prosilver/template. В нём находим файл captcha_default.html. Если посмотреть в этот шаблон, то видно место, в котором формируется вышеупомянутая разметка:

Лёгким телодвижением усложним жизнь автосабмиттерам:

Выглядеть в браузере это будет теперь так:

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

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

Проблема бизнеса

Любой софтверный бизнес рано или поздно столкнется с комплексом проблем, способных негативно отразиться на доходах компании, ее репутации и положению на рынке. Каждый программный продукт содержит в себе уникальные механизмы и данные. Большинство из них относится к строжайшей коммерческой тайне, которая ни в коем случае не должна стать известной кому-либо за пределами компании. При этом программный продукт может совершенно легально попасть в руки самым разным компаниям и лицам. Среди них обязательно найдутся те, кто захочет нечестным путем извлечь выгоду от отсутствующей или слабой защиты софта.

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

Проблемы, с которыми может столкнуться вендор:

Прямые и потенциальные конкуренты Компании, разрабатывающие аналогичный продукт, будут пытаться получить ценные алгоритмы, которые используются в вашем программнои продукте, чтобы использовать их при собственной разработке.
Недобросовестные пользователи Многие ваши текущие или потенциальные клиенты предпочтут не платить деньги за пользование программным продуктом, особенно если это будет просто сделать.
Профессиональные хакеры На рынке существует немало специалистов, которые практикуют взлом на заказ. Если они преуспеют, то в лучшем случае вашей программой будет пользоваться 1 компания, а в худшем — на рынке появится ваш конкурент.
Слабая модель продаж Выбор и реализация схемы лицензирования программного обеспечения представляет собой важный этап в предпродажной подготовке программного обеспечения. Неэффективная модель монетизации неизбежно приведет к упущенной выгоде.
Отсутствие гибкости Любой рынок меняется постоянно и зачастую очень стремительно. Важная составляющая бизнеса уметь быстро подстроиться под новые потребности покупателей — от изменения набора отгружаемых продуктов и модулей, до смены всей модели лицензирования и предоставления клиенту индивидуальных условий.
Высокая стоимость владения Использование негибких и неэффективных инструментов увеличивает время выполнения внутренних бизнес-процессов вендора. Например, выпуск новой версии ПО, создание лицензии, доставка ее клиенту и т.д. Чем больше ручной работы уходит на поддержку этих процессов, тем выше операционные расходы и меньше прибыль.

Решение для бизнеса

Стек технологий и продуктов Guardant позволяет обеспечить комплексное решение проблем по защите и лицензированию программных продуктов. Ключевые особенности:

Сообщество разработчиков скриптов Human Emulator

Разработка скриптов на заказ. Полезные материалы и примеры шаблонов Human Emulator.

Автоматическая регистрация с помощью Human Emulator

Авторегистрация — регистрация, которая выполняется в автоматическом режиме. Регистрация это один из основных механизмов работы интернета.
Будь то социальная сеть, форум, доска объявлений, сайт знакомств, сайт госуслуг, файлообменник, электронный почтовый ящик и т.д., везде требуется регистрация. Каждый рядовой пользователь интернета хотя бы раз, но сталкивался с необходимостью регистрации. Если же Вы занимаетесь интернет-бизнесом или продвижением своего бизнеса в интернете, то количество регистраций проделываемых Вами может переваливать за тысячи.
Всё это в итоге занимает огромное количество времени, которое можно было бы потратить с большей пользой. Вот тут и приходит на помощь авторегистрация.

В интернете существует множество различных инструментов, которые делают авторегистрации на определённых ресурсах. Нужна авторегистрация почтовых ящиков,
пожалуйста регистратор почтовых аккаунтов яндекс или mail.ru или рамблер. Нужна авторегистрация в каталогах — вот вам софт для прогона по каталогам.
Интересует авторегистрация на форумах, вот вам программа для регистрации на форумах.
Вам требуется авторегистрация в социальных сетях — есть программы для авторегистрации вконтакте, твиттере, инстаграме, фейсбуке, однаклассниках.
Если перед Вами стоит одна из перечисленных задач, то нет проблем, нашли нужный софт и пользуетесь. А если несколько или все сразу?!
В итоге Вам приходится пользоваться большим количеством различного софта, который ни как не взаимодействует друг с другом.
Тут и приходит на помощь Human Emulator.

Программа Human Emulator это не просто универсальный авторегистратор, который позволит Вам автоматически регистрироваться на любом сайте или сервисе в интернете.
C Human Emulator Вы можете использовать любые прокси или соксы, менять настройки браузера, подключать сервисы распознавания капч, эмулировать действия пользователя при переходе на форму регистрации и при вводе данных в поля, авторегистрироваться в сложных формах регистрации, где используется java-скрипты и ajax, запускать авторегистрацию по расписанию. Хуман эмулятор это программный комплекс, который позволяет создавать решения для автоматизации полного цикла. Это значит, что с помощью Хумана Вы можете не просто выполнять автоматическую регистрацию, но и решать другие задачи в автоматическом режиме, для которых Вам потребовалась регистрироваться на сайтах или сервисах.

Добавить комментарий