Коля Дубр

Коля Дубр
Рейтинг
153
Регистрация
02.03.2005
Должность
NetCat
Интересы
cms, музыка, лингвистика

Вот блин. Не могу найти исходник, но когда-то делал защиту без капчи. Кое-как работала. Идея такая - ловим бота, видя что:

- нет куков (страница, показавшая форму ставит куку, а принявшая данные - проверяет)

- нет HTTP_REFERER, или реферер явно левый

- нет HTTP_USER_AGENT

- нет JavaScript (генерим на JS лишнее hidden-поле)

- отключена графика (показываем 1px-картинку, которая отдается скриптом и записывает запросивший айпишник)

- в сообщении - только латиница, куски HTML- или BB-кода

По комбинации принимаем решение, не нра - показываем капчу, не попал в капчу - блокируем.

zaka4ek:
Файловая удобнее для разработки сателлитов. Не требует установки кинул файлы на хост и пользуйся.

Палю тему: для разработки сателлитов удобнее VPS + одна БД на всю пачку + один экземпляр движка на весь хост (цепляется симлинком). И, разумеется, одна админка. В минимальном виде пишется за 2 дня. В расширенном - 2 года, и конца-края пока не видно :)

Authority:
Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /home/d000000125/domains/razn.ru/public_html/forum/ips_kernel/class_db_mysqli_client.php on line 631

на 631 строке ничего особенного вроде нет:

$this->query_id = mysqli_query($this->connection_id, $the_query );

Судя по "boolean given", $this->connection_id устанавливается в false, т.е. скриптя не может подключиться к БД. Оттуда и копайте.

P.S. Пожалуйста, проверяйте сообщения spell checker'ом ;)

Dash:
Хранить первоначальное значение и с ним сравнивать.

На самом деле, первоначальное значение и так хранится. Думаю, что это нужно в первую очередь для работы кнопки Reset, которая эти значения восстанавливает.

Для полей input[@type = 'text' or @type = 'password'] и textarea - см. свойство defaultValue, для input[@type = 'radio' or @type = 'checkbox'] - defaultChecked. С select хитрее - сохраняется свойство defaultSelected для каждого option, поэтому их приходится оббегать циклом.

При этом для обычных (не-multiple) селектов есть такая засада: если ни у одного option не установлен атрибут selected (т.е. значение не выбрано) - первому option выставляется свойство selected = true, что в некотором смысле логично. Я придумал, что можно обходить все option-ы, и, если выбран первый и ни у одного другого нет свойства defaultSelected == true - решать, что значение не изменилось. Возможно, будет шустрее работать, если сразу после загрузки формы сохранять для select'ов первоначальные значения.

Вот тут можно посмотреть пример, а заодно сообщить мне, работает ли оно в IE7 :)

kirilll007:
То есть где именно код интегрировать?

В версии 2.2.2, с которой я в последний раз работал, все такие вещи делались в шаблонах. Шаблоны лежат в БД и правятся из админки. В процессе редактирования шаблонов нужно обильно посылать проклятья в адрес того, кто это придумал :) И еще, чтоб найти, в каком шаблоне лежит тот или иной кусок HTML-кода - удобно пользоваться поиском по `ibf_skin_templates` в phpMyAdmin, хотя в новых версиях может и сделали поиск по шаблонам.


$domain = 'google.com';
$text = preg_replace("/<a[^>]+href=['\"]?http:\/\/(?!$domain|\w+\.$domain)[^>]*>.*?<\/a>/is",'',$text);

Так?

Но с preg_replace_callback кошерней :)\

P.S. Ура!! Тысячный пост :)

Sauce, Москва - желательно, но не обязательно. Если получится наладить быстрый фидбек - хоть Руанда или Конго, я ж не из патриотизма про Москву написал :) Присылайте работы, посмотрим.

m&m, разъясните, пожалуйста, чем они так разительно отличаются, что их даже нельзя сравнивать :) Вроде и на том, и на другом кодить можно, и даже примерно одинакового функционала приложения. Или Вы так, к словам придраться?

Я бы выбрал PHP - как минимум, не будет проблем с поддержкой, если спец свалит. Кроме того, проще найти консультантов для оценки качества кода (если Вы такое практикуете).

UPD:

m&m, полистал вики - может Вы и правы. Почему-то всегда думал, что ASP - это типа C# под веб :)

Предлагаю организовать профсоюз программистов, с целью регулировать цены на пиво ;)

А пусть они исходники ослика в открытый доступ выложат. Посмотрим, какие циферьки получатся :)

Всего: 1529