Как стать автором
Обновить

Комментарии 28

Спасибо за пост. Я вот только сейчас вообще узнал про этот сервис.
Если кто-либо сделает плагины для популярных CMS, то они будут думаю весьма востребованы
Сам «Яндекс» пока предоставляет лишь расширение для phpBB, хотя написать такие плагины хотя бы к WP и Drupal для нормального программиста — дело одного дня.
Организовал behavior-обвёртку для YII Framework: github.com/usatikov/yii-yandex-cleanweb
Буду признателен, если у кого-нибудь появятся замечания.
Хоспади! Почему людям так не хочется оборачивать код в source. Смотреть же приятнее.

empr: Проставьте везде место code — тег source, пожалуйста.
Спасибо, поставил.
$post_data = array(
 
        'email'         => (isset($_POST['email']))? $_POST['email'] : null,
        'name'          => (isset($_POST['name']))? $_POST['name'] : null,
        'login'         => (isset($_POST['login']))? $_POST['login'] : null,
        'realname'      => (isset($_POST['realname']))? $_POST['realname'] : null,
        'subject-plain' => (isset($_POST['subject']))? $_POST['subject'] : null,
        'body-plain'    => (isset($_POST['body']))? $_POST['body'] : null
 
 );
Какое уродство. Вы про функцию array_intersect_key не знаете что ли?
nooooooo
Это всего лишь пример.
Вот так устроит? :)

$allowed_keys = array('email', 'name', 'login', 'realname', 'subject-plain', 'body-plain');
$post_data = array_intersect_key($_POST, array_fill_keys($allowed_keys, null));
Это имеет другое название. Индийский код. Но он, по-моему, может иметь место в публикациях, так как 100% информативней чем нечто

foreach(explode(",","key1,key2") as $k)$arr[$k]=isset($_POST[$k])&&!sql_inj($k)?pstoclear($_POST[$k],$k):"";
Выше вашего комментария посмотрите пример.

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

А если PHP-программист не сможет/не захочет переписать этот кусок красивее, и возьмет готовый — это проблема программиста, а не автора.
Копипастить готовые куски вообще не очень нормально.
НЛО прилетело и опубликовало эту надпись здесь
Я так понимаю, что это аналог stopforumspam.com/?
У меня stopforumspam.com даёт наверно 99% убитых спамеров.
За месяц в среднем два десятка убивают модераторы, против ~6000 отстрелянных автоматом
У меня 99% спамеров убило:

WARNING: Please ignore the image, and instead enter chemical symbol for Silver (case is ignored).
ВНИМАНИЕ: Игнорируйте код на картинке, и введите химический символ серебра (регистр не имеет значения).


А капча:

Китайцев, которые будут пытаться это распознать — мне ничуть не жаль
У вас форум химиков? Мне понадобилось 10 секунд, чтобы вспомнить.
Кто не помнит — может мгновенно нагуглить :-)
А когда Яндекс напишет софт, который будет защищать пользователей от Яндекс.Бара?
Добавьте fromat=json
НЛО прилетело и опубликовало эту надпись здесь
Существует ли нечто подобное для немецкого и английского языков?
Можно ли встроить капчу не для проверки спама а просто так, например, вместо Recaptcha в форме, где не предусмотрено текстовых полей?
Да, я ведь упомянул об этом в посте:

Например, можно не использовать проверку на спам, а просто подключить себе CAPTCHA «Яндекса», аналогично тому, как подключают ReCAPTCHA.


При получении и проверке капчи передавать ID выполненной проверки на спам совершенно необязательно.
Так что можно использовать методы класса только для получения и проверки CAPTCHA, неважно в какой форме.
Пример:

// Получение CAPTCHA

$captcha = YandexCW::get_captcha();

$_SESSION['captcha_id'] = (string) $captcha['captcha_id'];
$captcha_url = (string) $captcha['captcha_url'];

// Проверка CAPTCHA

$captcha_value = $_POST['captcha_value'];
$captcha_id = $_SESSION['captcha_id'];

$result = YandexCW::check_captcha($captcha_id, $captcha_value);

Прошу меня простить, прочитал по диагонали. Думаю прикрутить капчу к django в свободное время. Если, конечно, кто-то не сделал это уже до меня.
А у кого-нибудь оно вообще работает? На тестовых примерах, где 100% спам (брал контент писем Я.Почты из папки «спам»), сервис выдает, что спам не обнаружен. Кодировки пробовал и cp1251 и UTF-8.
Проверил те же письма через Akismet — 100% попадание.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации