Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
cyrax_02

Ошибка при регистрации (SQL Driver Error): spam_service_log

Рекомендованные сообщения

При регистрации нового пользователя отображается страница SQL Database Error.

Согласно логам, ошибка заключается в том, что IP.Board добавляет запись в таблицу (spam_service_log) так:

mySQL query error: INSERT INTO ..._spam_service_log (`log_date`,`log_code`,`log_msg`,`email_address`,`ip_address`) VALUES(1478525386,'License Key Expired','','...','...')

В ответ mysql ругается:

Error: 1366 - Incorrect integer value: 'License Key Expired' for column 'log_code' at row 1

Ругается потому, что в таблице столбец (log_code) имеет тип smallint(1), а передаётся строка (License Key Expired). При этом все записи (включая и самые древние, когда этой ошибки ещё не возникало) в указанной таблице в этом столбце имеют значение 0.

 

Задача заключается в том, чтобы объяснить этот артефакт. Возможные варианты:

1. Некорректная логика работы форумного скрипта (вместо кода вставляет в запрос строковый идентификатор)

2. В таблице изначально поле (log_code) имело строковый тип, но после обновления mysql до последней версии и последующего апгрейда баз данных (mysql_upgrade, как это обычно рекомендуют делать после обновления mysql) тип поля был изменён на smallint(1), а все имеющиеся значения конвертированы в целое значение 0.

Поделиться сообщением


Ссылка на сообщение

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

log_code это код статуса подозрительности пользователя, формата tinyint (там четыре статуса). Ваша активная лицензия истекла, поэтому ips возвращает сообщение с ошибкой вместо кода.

Поделиться сообщением


Ссылка на сообщение
11/07/16 18:29 (изменено)
Ваша активная лицензия истекла, поэтому ips возвращает сообщение с ошибкой вместо кода.

По хорошему этот ответ следовало бы фильтровать на предмет неактивного лицензионного ключа. Всё-таки, из-за истечения срока активности ключа регистрация на форуме падать не должна (да и вообще, все значения, получаемые извне, должны проверяться/приводиться). В 4-ке, может, поправили...

 

P.S. Ну а STRICT_TRANS_TABLES отключать не очень хороший вариант.

Изменено пользователем cyrax_02

Поделиться сообщением


Ссылка на сообщение

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

Это естественная защита от тех кто пользуется спам-сервисом без активной лицензии. А если серьезно то в 3.4.9 пофиксили.

 

Ну а STRICT_TRANS_TABLES отключать не очень хороший вариант.

Не знаю какие сейчас требования, но в ранних версиях 3.x отключение STRICT_TRANS_TABLES было условием IPS. Но делать это вовсе не обязательно, достаточно принудительно интвалить ответ от спасм-сервиса в методе querySpamService.

Поделиться сообщением


Ссылка на сообщение

столкнулся с практически той же самой проблемой после переустановки винды! форум восстановить смог, но теперь после регистрации вылетает ошибка БД(((

 Error: 1366 - Incorrect integer value: 'Email address invalid' for column 'log_code' at row 1
IP Address: 127.0.0.1 - /index.php?app=core&module=global&section=register
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: INSERT INTO spam_service_log (`log_date`,`log_code`,`log_msg`,`email_address`,`ip_address`) VALUES(1483783305,'Email address invalid','','....@mail.ru','127.0.0.1')
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| File                                                                       | Function                                                                      | Line No.          |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
| G:\WebDesign\wamp64\www\portal2\admin\sources\base\ipsMember.php           | [db_main_mysql].insert                                                        | 4122              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| G:\WebDesign\wamp64\www\portal2\admin\applications\core\modules_public\global\register.php| [iPSMember].querySpamService                                                  | 1905              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| G:\WebDesign\wamp64\www\portal2\admin\applications\core\modules_public\global\register.php| [public_core_global_register].registerProcessForm                             | 65                |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| G:\WebDesign\wamp64\www\portal2\admin\sources\base\ipsController.php       | [public_core_global_register].doExecute                                       | 306               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

помогите пожалуйста исправить(

Поделиться сообщением


Ссылка на сообщение

Отключить спамсервис от IPS. Настройки -> Пользователи -> Защита от Спама -> Включить сервис? - Нет

 

Если все же у вас каким-то образом оказалась лицензия от IPS, и вы не обновились до последней версии но хотите использовать их спамсервис.

Открыть admin\sources\base\ipsMember.php

Найти

 

	$responseCode	= $response[0];
	$responseMsg	= $response[1];

Заменить на

 

	$responseCode = $query->http_status_code == 200 ? (int) $response : 0;
	$responseMsg = $query->http_status_code == 200 ? '' : $response;

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

хоть я хук отключил

Какой хук?.. Эта системная настройка. Еще раз проверьте внимательно.

Приведите лог, может быть там уже другая ошибка.

Поделиться сообщением


Ссылка на сообщение

я в курсе что эта системная настройка! ранее я капчу ставил поэтому и отключил ее вместе с защитой от спама

Поделиться сообщением


Ссылка на сообщение

@corazon, какого хера вы отредактировали предыдущие сообщение когда на него уже был дан ответ?

Поделиться сообщением


Ссылка на сообщение

потому что забыл вставить ошибку из лога, епт и не видел после свое поста никакого ответа

Поделиться сообщением


Ссылка на сообщение

дубль два

 Date: Sat, 07 Jan 2017 12:05:29 +0000
Error: 1364 - Field 'arcade_lastplay' doesn't have a default value
IP Address: 127.0.0.1 - /index.php?app=core&module=global&section=register
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: INSERT INTO members (`name`,`members_display_name`,`email`,`member_group_id`,`joined`,`ip_address`,`time_offset`,`coppa_user`,`members_auto_dst`,`allow_admin_mails`,`language`,`members_l_username`,`members_created_remote`,`member_login_key`,`member_login_key_expire`,`view_sigs`,`bday_day`,`bday_month`,`bday_year`,`restrict_post`,`auto_track`,`msg_count_total`,`msg_count_new`,`msg_show_notification`,`last_visit`,`last_activity`,`member_uploader`,`members_pass_salt`,`members_pass_hash`,`members_l_display_name`,`fb_uid`,`vk_uid`,`fb_emailhash`,`members_seo_name`,`members_bitoptions`) VALUES('test','test','thor1985@mail.ru',1,1483790729,'127.0.0.1',4,0,1,1,1,'test',0,'73d3ade2aa5efdf88614144a26e78276',0,1,0,0,0,0,0,0,0,1,1483790729,1483790729,'flash','?=P!Q','87b6bde5446a341fa3a93ef95d1e6831','test',0,0,'','test',0)
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| File                                                                       | Function                                                                      | Line No.          |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
| G:\WebDesign\wamp64\www\portal2\admin\sources\base\ipsMember.php           | [db_main_mysql].insert                                                        | 662               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| G:\WebDesign\wamp64\www\portal2\admin\applications\core\modules_public\global\register.php| [iPSMember].create                                                            | 1942              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| G:\WebDesign\wamp64\www\portal2\admin\applications\core\modules_public\global\register.php| [public_core_global_register].registerProcessForm                             | 65                |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| G:\WebDesign\wamp64\www\portal2\admin\sources\base\ipsController.php       | [public_core_global_register].doExecute                                       | 306               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

Поделиться сообщением


Ссылка на сообщение

Это ошибка не имеет отношения к предыдущей spam_service_log.

Удалить приложение с "arcade" или выполнить sql запрос

 

ALTER TABLE members CHANGE COLUMN arcade_lastplay arcade_lastplay int(11) NOT NULL DEFAULT '0';

Поделиться сообщением


Ссылка на сообщение

заработало)) большущее спасибо за помощь, дай бог вам здоровья! с Рождеством))

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...