Сегодня 7 мая, четверг ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7283
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Веб-разработка
Веб-разработка
Голосов: 0
Адрес блога: http://dayte2.com/
Добавлен: 2011-06-30 15:18:48 блограйдером ifman
 

reCAPTCHA на Perl

2011-06-30 14:14:04 (читать в оригинале)

reCAPTCHA

Меня достал спам, который сыпался на мой несчастный ящик с моей страницы контактов. Приходило до 5 писем в день, которые были набиты бессмысленными и беспощадными ссылками. Давно чесались руки поставить капчу, но как-то не было времени. А сейчас увидел письмо со своего сайта в папке "Спам" и это стало последней каплей.

Сейчас расскажу как установить reCAPTCHA если вы не используете плагин, а делаете ручками.

Так как у меня письмо отправляет скрипт на Perl — я покажу как это делается на нем. Но на PHP, на самом деле, не сложнее. Даже наверняка проще.

Что такое reCAPTCHA

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

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

Регистрация на сервисе reCAPTCHA

Если у вас есть гугловый аккаунт — вы зарегистрированы. Вам надо добавить свой домен.

Добавление домена recaptcha

В ответ вам дадут два ключа — публичный и закрытый. Ниже объясню зачем они нужны. Главное что нужно запомнить — никому нельзя показывать закрытый ключ.

Собственно, это все. Начинаем мутить.

Отображение reCAPTCHA на сайте

Для начала, нам нужно отобразить reCAPTCHA в нашей форме. Для этого есть два варианта — хардкор-олдскульный и Ajax. Я выбрал второй (как-то посовременней). Чтобы его использовать, нужно сделать три вещи.

Сперва подключаем скрипт, управляющий reCAPTCHA.


<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>

Теперь делаем внутри нашей формы контейнер. Например, див.


<form action="index.cgi" method="post">
	<textarea name="text" style="width:400px;height:300px;"></textarea>
	<div id="outer_captcha"></div>
	<input type="submit" value="Отправить">
</form>

Теперь загружаем, собственно капчу.


<script type="text/javascript">
$(function()	{
  Recaptcha.create("ваш ОТКРЫТЫЙ ключ",
    "id дива", {theme: "название темы отображения"}
  );
});
</script>

В данном случае, я использую событие загрузки документа в jQuery, но можно прицепить создание рекапчи к любому другому событию. Например, сделать кнопку "показать капчу". Боту будет трудновато даже увидеть капчу, не то что взломать ее.

Важно! Вам нужно использовать ваш открытый ключ, полученный после регистрации домена. Вместо "id дива" нужно вставить id вашего div, в котором будет капча. В опциях можно указать название темы. По-умолчанию red. Подробнее про темы и параметры можно почитать на английском в документации. Кстати, можно указать язык отображения подсказок Русский. Для этого надо добавить параметр lang:"ru".


  Recaptcha.create("ваш ОТКРЫТЫЙ ключ",
    "id дива", {theme: "название темы отображения", lang: "ru"}
  );

Проверка reCAPTCHA

Итак, наша капча отображается, она генерирует новые поля в форме, так что теперь отправка этой формы будет происходить как надо — с двумя нужными полями. Одно поле — зашифрованная строка капчи (текст на картинке). Другое поле — то что ввел пользователь.

Теперь отправляем форму на сервер. Там надо проверить правильно ли введена капча. Так как я использую Perl — я воспользовался разделом документации для Perl. В нем мне предложили использовать модуль Captcha::reCAPTCHA, который зависим от стандартного LWP::UserAgent и нестандартного HTML::Tiny.

Слава Богу — нестандартные модули состоят каждый из одного файла, так что по сути, надо скачать с CPAN два файла.

Начинаем использовать.


use Captcha::reCAPTCHA;
my $c = Captcha::reCAPTCHA->new;
my $result = $c->check_answer(
        "ваш закрытый код", $ENV{REMOTE_ADDR},
        $cgi->param(recaptcha_challenge_field),
        $cgi->param(recaptcha_response_field)
);
unless($result->{is_valid})	{
	return 'Неверно введена капча. Попробуйте снова.';
}

Все. Вам надо использовать как раз здесь ваш закрытый ключ. Модуль сформирует запрос и отправит его гуглу. Гугл проверит введенную капчу и скажет вам правильно она введена или нет. Модуль вернет хэш. Один из элементов хэша — is_valid. Если он ложный — капча введена неверно.

Собственно, это все. Можно конечно не использовать модуль и постить гуглу запрос самостоятельно. Как это сделать — тоже описано в документации. Но модулем-то удобней:) Кстати, для PHP там тоже есть несложное решение. Потребуют скачать один файл библиотеки и использовать его. Смысл такой же.

Спонсор поста vuz1conline.ru, который расскажет вам про установку 1С 7.7. Предприятие на Windows 7. Ох уж эта 1С! Просто вездесущая система. Я, если честно, поразился когда увидел ее. Она довольно простая и, я бы сказал, примитивная. Но столько шуму вокруг нее. И главное — никуда от нее не деться уже.

Самое смешное, что есть альтернативы лучше, да и 1С не должна меняться так часто. Но там столько обязаловки, что диву даешься как это вообще живет. Наверняка есть какие-нибудь стартапы, которые пытались уже отбить первенство у 1С, интересно, у кого-нибудь получилось вообще хоть чуток отбить клиентов? Судя по тому, что о таких стартапах не знает даже интернет-журнал про стартапы — ни у кого не получилось.

Если вы дочитали до этого абзаца — вам, вероятно, было интересно. А это хорошо. Я люблю когда людям интересно то, о чем я пишу. Поэтому я призываю вас: воспользуйтесь формой обратной связи (справа) и задайте мне любой интересующий вас вопрос. Я постараюсь ответить на него постом. Вы можете просто попросить меня написать пост о том-то или другом-то. Разумеется, вы можете задать вопрос по e-mail или воспользовавшись формой обратной связи. Тем более, что на ней теперь капча:)



Что такое jQuery и зачем он нужен?

2011-06-28 13:47:02 (читать в оригинале)

jQuery

О, этот пост для совсем новичков. Я расскажу что такое jQuery и с чем его едят. Покажу пару полезных ресурсов и хитростей.

Те, кто давно меня читают — знают что я люблю jQuery. Когда-то я любил нативный JavaScript и писал все на нем, но потом понял что в этом нет особого смысла почти всегда.

Но обо всем по порядку.

Что такое jQuery?

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

Первый довод за использование jQuery — кроссбраузерность. Реально, вы знаете сколько разных синтаксисов у JS? Туча! Чего стоят хотя бы способы работы с Ajax. Во всех браузерах работа эта организована по-разному. С jQuery все единообразно.

Второй довод, кстати, тоже касается Ajax. С jQuery использовать его становится очень просто. Достаточно написать одну строку кода. Вообще, многие задачи, которые решаются на JavaScript небольшими функциями на jQuery решаются одной строкой. А если мы говорим о визуальных эффектах, так там вообще.

В общем, аякс на jQuery сделан очень просто и понятно. Это две функции get() и post() для разных методов отправки данных соответственно.

Третий довод — прозиводительность. Я использую jQuery и никуда не хочу с него слезать. Существует множество других фреймворков, которые делают примерно то же самое. Но jQuery самый быстрый из них.

Четвертый довод — общедоступность и распространение. На данный момент jQuery используют Яндекс и Google. И брать ее можно с их серверов. Например, вот JavaScript-хостинг Яндекса. Для того, чтобы подключить jQuery на любую вашу страницу достаточно просто вставить строку:


<script type="text/javascript" src="http://yandex.st/jquery/1.6.0/jquery.min.js"></script>

Все. Теперь jQuery у вас подключена. Можно пользоваться.

Пятый довод — это наличие не большого, а просто огромного количества плагинов для jQuery. Хотите фотогалерею? Тыщи их! Хотите возможность делать диалоговые окна? Тултипы? Балуны? Экранные лупы? Клавиатуры? Пользовательские интерфейсы? Что? Что вам надо? Я уверен, jQuery это умеет — надо лишь найти плагин.

Что, я еще не убедил вас?

А как на счет большого сообщества (в том числе — русскоязычного) и внятнейшей документации с примерами?

В общем, если мне нужно на сайте написать что-то большее чем alert — я использую jQuery. Конечно, не всегда оно нужно — надо головой соображать все-таки. Но попробовав раз, слезть реально трудно.

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

Еще решил ради прикола зарегиться на блоговаре. Вот код подтверждения: f5097c45aa0ab9b76025ba6553fbaa97. Посмотрим что из этого выйдет. Если вы тоже там — знайте — я выращиваю трафку.



Как определить трастовость сайта?

2011-06-27 11:34:33 (читать в оригинале)

Trust (траст) сайта

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

Фактически, все сео сейчас начинает ориентироваться на траст. Раньше, в бородатые времена, главными были ссылки и "тошнота". То есть загрузил текст ключевыми словами в разных сочетаниях до определенного процента от содержимого текста — и считай внутреннюю оптимизацию законченной. Закупил ссылок на свой сайт — считай внешюю оптимизацию завершенной.

Сейчас все совсем не так просто. Топовые конторы (не любители) и сервисы в один голос говорят: "делайте сайты для людей и все будет хорошо". В принципе, все сводится к одному правилу — естественность решает.

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

Важный фактор при покупке ссылки — это качество сайта и текста, который на вас ссылается. Ни для кого не секрет, что поисковики легко могут определять "про что текст". Это еще не понимание смысла текста, но тематика точно определяется. И уникальность — тоже.

Если на вас указывает сайт с большими пузомерками, но набитый рекламным дерьмом, которое никому не нужно, то такой сайт может попасть под фильтры ПС или по крайней мере, получить минус в карму. А ссылка с такого сайта будет подозрительной. Она может не работать или даже работать в минус. Грубо говоря, поисковик будет "думать": "ага, этот сайт покупает ссылки на вон том говносайте, понятно...".

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

Как узнать что сайт не попадет в бан?

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

Вот сводная таблица, без подробностей.

Определить траст сайта

По-моему, очень интересные данные. Если я захочу купить ссылок — буду проверять именно эти параметры. Они в сумме дают некое представление о трасте.

Когда я говорю "в сумме" я подразумеваю и отрицательные значения тоже. Например сайт по параметру А имеет 3 балла, а по параметру Б — минус 2 балла. В сумме — один балл. Как-то так.

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

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



Как обналичить чек Google AdSense?

2011-06-24 14:23:01 (читать в оригинале)

ePayService

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

Но есть способ проще. Можно выводить гугло-бабло на вебмани или даже на карту мастеркард. Удобно. Сейчас расскажу о сервисе ePayService.

Что умеет ePayService?

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

Что они еще делают:

  • Обналичивание банковских чеков
  • Прием и отправление банковских переводов Wire Transfer, ACH/Direct Deposit
  • Прием и отправление WebMoney Z
  • Оформление дебетовой карты ePayService MasterCard®

Как зарегистрироваться в ePayService?

Совсем не сложно. Для начала, переходите на сайт epayservices.com. Смотрите на красивую индексную страницу и жмете "Завести счет в ePayService".

Дальше все просто. Вам предоставляется форма для заполнения. Она сразу ориентирована на веб-мастеров, зарабатывающих в Google AdSense. Вот, например, элемент формы:

регистрация в ePayService

Форма заполняется вашими паспортными данными. Будьте внимательны! Большую часть данных потом невозможно будет изменить, поэтому заполняйте все верно и проверяйте. Это не регистрация на форуме, это серьезное дело.

После прохождения регистрации вы сможете обналичивать и выпускать чеки, пополнять счет на карте ePayService, которая является MasterCard.

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



Пользовательские JavaScript и Greasemonkey

2011-06-24 12:49:57 (читать в оригинале)

Greasemonkey

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

Вот сейчас мне стало лень и я освоил написание пользовательских скриптов для Greasemonkey.

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

Что такое пользовательские скрипты и зачем они нужны

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

Пользовательские скрипты реализуются некоторыми браузерами на нативном уровне, кажется. Вроде Опера это умеет, например. Но народную любовь снискал Greasemonkey — плагин для браузеров, который как раз позволяет выполнять пользовательские скрипты.

Мне это все было как-то без надобности. Ну что можно сделать жабаскриптом? Обычно это все касается изменения внешнего вида страницы. Убрать колонку, изменить размер чего-нибудь, показать что скрыто или наоборот. Так вот, мне это все было не нужно. А теперь у меня есть блог о футболках, куда я часто постю картинки с сервиса printdirect.

Процесс постинга картинки выглядит так:

  • Я захожу на страницу товара
  • Кликаю по изображению
  • Кликаю по большой картинке правой кнопкой, выбираю "Копировать ссылку на изображение".
  • Иду в редактор поста на tshirt-fan.ru и вставляю ссылку на изображение в поле вставки изображения визуального редактора.
  • Заполняю поля alt и title картинки в том же редакторе
  • Перехожу во вкладку "Положение" и в выпадающем меню "Класс" ставлю fcenter (это CSS класс для центрования картинки)
  • Затем перехожу снова на страницу товара, выделяю адрес страницы
  • Перехожу в редактор, выделяю изображение, нажимаю на "установить ссылку"
  • В поле "Адрес" я ввожу скопированный адрес товара.
  • Заменяю в этом адресе http:// на /go/ чтобы ссылка была внутренней и чтобы при переходе добавлялся партнерский код.

Вот столько всяких действий чтобы вставить ОДНУ картинку с ссылкой. Это очень, очень утомительно.

Поэтому я решил автоматизировать этот процесс. Потому что я ленивый программист.

Я взялся за изучение Greasemonkey. Оказалось, что там все не просто, а очень просто. По сути, это просто JS код, который снабжен парой служебных директив.

Greasemonkey скрипт для tshirt-fan.ru

Вдохновившись, я сразу захотел использовать jQuery. Лень мне писать на чистом JavaScript, видите ли. Хотя задача простая, если честно. Короче, я нашел как подключать jQuery к Greasemonkey и заюзал этот код. Он загружает jQuery с хостинга гугла. Обычно я загружаю с хостинга Яндекса, но какая разница?

Теперь надо было только написать сам скрипт. Все оказалось просто.


// Весь Greasemonkey код ниже
function letsJQuery() {
	var full = $('#full_img_front').attr('src'); //хватаем адрес большой картинки
	if(full)	{  //если он есть — мы на нужной странице
		var url = location.href; //берем адрес страницы
		url = url.replace('http://', '/go/'); //изменяем его
		var text = $('h1.main').html(); //берем имя товара
		//формируем код для отображения
		var code = '<br style="clear:both;"><textarea style="clear:both;height:200px;width:300px;">';
		code+='<a href="'+url+'"><img src="'+full+'" alt="'+text+'" title="'+text+'"/></a></textarea>';
		$('div.images').append(code); //показываем его
	}
}  

Теперь страница товара у меня выглядит так:

Greasemonkey за работой на printdirect.ru

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



Страницы: 1 2 

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»
Изменения рейтинга
Категория «Новости»
Взлеты Топ 5
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.