Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ошибка при регистрации (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 возвращает сообщение с ошибкой вместо кода.

Опубликовано:
  • Автор
Ваша активная лицензия истекла, поэтому ips возвращает сообщение с ошибкой вместо кода.

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

 

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

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

Опубликовано:

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

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

 

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

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

  • 1 месяц спустя...
Опубликовано:

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

 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';

Опубликовано:

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

Опубликовано:

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

Опубликовано:

При чем тут капча? В первом случае нужно отключить спам сервис ips или сделать правку в файле (если у вас активная лицензия и вы хотите им пользоваться), он не имеет отношения к капчи, во втором удалить приложение или выполнить sql запрос.

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

Сейчас на странице 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.