Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..
Gracias.
La Administración de phpBB España.
Problema Con Cracker Tracker Y Base De Datos Postgres
Reglas del Foro
Antes de participar en los foros, leer esto por favor.
Normas generales de phpBB-Es y las de Soporte
Antes de participar en los foros, leer esto por favor.
Normas generales de phpBB-Es y las de Soporte
Problema Con Cracker Tracker Y Base De Datos Postgres
URL: www.automoto-soria.com
Plantilla(s) usuada(s): Subsilver
MODs instalados: The Humanizer, Antispam 1.03
Versión de phpBB: 2.0.21
Nombre y versión del MOD: Cracker Tracker Professional V504 es
Servidor: propio (Linux con Apache + PHP + PostgresSQL
Si es una actualización desde otra versión: no es actualizacion
No consigo instalar el Cracker Tracker en un phpBB que funciona con base de datos PostgreSQL
Alguien sabe algo del tema?
Plantilla(s) usuada(s): Subsilver
MODs instalados: The Humanizer, Antispam 1.03
Versión de phpBB: 2.0.21
Nombre y versión del MOD: Cracker Tracker Professional V504 es
Servidor: propio (Linux con Apache + PHP + PostgresSQL
Si es una actualización desde otra versión: no es actualizacion
No consigo instalar el Cracker Tracker en un phpBB que funciona con base de datos PostgreSQL
Alguien sabe algo del tema?
Nunca digas todo lo que sabes, nunca hagas todo lo que puedas, nunca creas todo lo que oyes, nunca gastes todo lo que tienes, nunca juzgues todo lo que ves
Porque quien dice todo lo que sabe, hace todo lo que puede, cree todo lo que oye, gasta todo lo que tiene, y juzga todo lo que ve
Un día dirá lo que no conviene, hará lo que no debe, creerá lo que no es,
gastará lo que no puede, y juzgará lo que no es
Porque quien dice todo lo que sabe, hace todo lo que puede, cree todo lo que oye, gasta todo lo que tiene, y juzga todo lo que ve
Un día dirá lo que no conviene, hará lo que no debe, creerá lo que no es,
gastará lo que no puede, y juzgará lo que no es
Re: Problema Con Cracker Tracker Y Base De Datos Postgres
Bueno, pues ya he solucionado, al menos la parte de instalación. Lo que he hecho es "saltarne" la ejecucion del install.php y generar mi propio escript, que he ejecutado directamente n la base de datos. Lo he tenido que convertir, asi que aqui dejo el código que he ejecutado la final.
También he tenido que hacer algunas modificaciones para que me permita modificar la configuración del foro, y se que me quedan más pendientes, pero de momento solo pongo la que he tenido que realizar por el momento.
Concretamente, he tenido problemas en el archivo ctracker\classes\class_ct_adminfunctions.php, en la función recover_configuration(), ya que postgres no soporta la sentencia DROP TABLE IF EXISTS. Lo que he hecho, es primero, crear una funcion plp/pgsql que es la siguiente:
Y luego, he adaptado la función completa. Ha quedado así:
Bueno, cuando siga probando y sacando nuevos fallos y sus correcciones los iré publicando
Código: Seleccionar todo
BEGIN;
ALTER TABLE phpbb_users ADD COLUMN ct_search_time INTEGER NULL DEFAULT 1;
ALTER TABLE phpbb_users ADD COLUMN ct_search_count SMALLINT NULL DEFAULT 1;
ALTER TABLE phpbb_users ADD COLUMN ct_last_mail INTEGER NULL DEFAULT 1;
ALTER TABLE phpbb_users ADD COLUMN ct_last_post INTEGER NULL DEFAULT 1;
ALTER TABLE phpbb_users ADD COLUMN ct_post_counter SMALLINT NULL DEFAULT 1;
ALTER TABLE phpbb_users ADD COLUMN ct_last_pw_reset INTEGER NULL DEFAULT 1;
ALTER TABLE phpbb_users ADD COLUMN ct_enable_ip_warn SMALLINT NULL DEFAULT 1;
ALTER TABLE phpbb_users ADD COLUMN ct_last_used_ip VARCHAR( 16 ) NULL DEFAULT '0.0.0.0';
ALTER TABLE phpbb_users ADD COLUMN ct_last_ip VARCHAR( 16 ) NULL DEFAULT '0.0.0.0';
ALTER TABLE phpbb_users ADD COLUMN ct_login_count SMALLINT NULL DEFAULT 1;
ALTER TABLE phpbb_users ADD COLUMN ct_login_vconfirm SMALLINT NULL DEFAULT 0;
ALTER TABLE phpbb_users ADD COLUMN ct_last_pw_change INTEGER NULL DEFAULT 1;
ALTER TABLE phpbb_users ADD COLUMN ct_global_msg_read SMALLINT NULL DEFAULT 0;
ALTER TABLE phpbb_users ADD COLUMN ct_miserable_user SMALLINT NULL DEFAULT 0;
CREATE TABLE phpbb_ctracker_config (
ct_config_name varchar(255) NOT NULL,
ct_config_value varchar(255) NOT NULL,
PRIMARY KEY (ct_config_name)
);
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('ipblock_enabled', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('ipblock_logsize', '100');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('auto_recovery', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('vconfirm_guest', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('autoban_mails', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('detect_misconfiguration', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('search_time_guest', '30');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('search_time_user', '20');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('search_count_guest', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('search_count_user', '4');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('massmail_protection', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('reg_protection', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('reg_blocktime', '30');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('reg_lastip', '0.0.0.0');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('pwreset_time', '20');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('massmail_time', '20');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('spammer_time', '30');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('spammer_postcount', '4');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('spammer_blockmode', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('loginfeature', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('pw_reset_feature', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('reg_last_reg', '1155944976');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('login_history', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('login_history_count', '10');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('login_ip_check', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('pw_validity', '30');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('pw_complex_min', '4');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('pw_complex_mode', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('pw_control', '0');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('pw_complex', '0');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('last_file_scan', '1156000091');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('last_checksum_scan', '1156000082');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('logsize_logins', '100');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('logsize_spammer', '100');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('reg_ip_scan', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('global_message', 'Hello world!');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('global_message_type', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('logincount', '2');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('search_feature_enabled', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('spam_attack_boost', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('spam_keyword_det', '1');
INSERT INTO phpbb_ctracker_config (ct_config_name, ct_config_value) VALUES ('footer_layout', '3');
CREATE TABLE phpbb_ctracker_filechk (
filepath text,
hash varchar(32) default NULL
);
CREATE TABLE phpbb_ctracker_filescanner (
id smallint NOT NULL,
filepath text,
safety smallint NOT NULL default '0',
PRIMARY KEY (id)
);
CREATE SEQUENCE phpbb_ctracker_id
START WITH 1
INCREMENT BY 33
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE phpbb_ctracker_ipblocker (
id smallint DEFAULT nextval('phpbb_ctracker_id') NOT NULL,
ct_blocker_value varchar(250) default NULL,
PRIMARY KEY (id)
);
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (1, '*WebStripper*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (2, '*NetMechanic*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (3, '*CherryPicker*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (4, '*EmailCollector*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (5, '*EmailSiphon*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (6, '*WebBandit*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (7, '*EmailWolf*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (8, '*ExtractorPro*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (9, '*SiteSnagger*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (10, '*CheeseBot*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (11, '*ia_archiver*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (12, '*Website Quester*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (13, '*WebZip*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (14, '*moget*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (15, '*WebSauger*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (16, '*WebCopier*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (17, '*WWW-Collector*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (18, '*InfoNaviRobot*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (19, '*Harvest*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (20, '*Bullseye*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (21, '*LinkWalker*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (22, '*LinkextractorPro*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (23, '*WebProxy*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (24, '*BlowFish*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (25, '*WebEnhancer*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (26, '*TightTwatBot*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (27, '*LinkScan*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (28, '*WebDownloader*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (29, 'lwp');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (30, '*BruteForce*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (31, 'lwp-*');
INSERT INTO phpbb_ctracker_ipblocker (id, ct_blocker_value) VALUES (32, '*anonym*');
CREATE TABLE phpbb_ctracker_loginhistory (
ct_user_id integer default NULL,
ct_login_ip varchar(16) default NULL,
ct_login_time integer NOT NULL default '0'
);
COMMIT;
Concretamente, he tenido problemas en el archivo ctracker\classes\class_ct_adminfunctions.php, en la función recover_configuration(), ya que postgres no soporta la sentencia DROP TABLE IF EXISTS. Lo que he hecho, es primero, crear una funcion plp/pgsql que es la siguiente:
Código: Seleccionar todo
CREATE OR REPLACE FUNCTION "public"."drop_table_if_exists" (text) RETURNS boolean AS
$body$
DECLARE
rec record;
BEGIN
SELECT INTO rec oid FROM pg_class WHERE relname = $1::name;
IF FOUND THEN
EXECUTE 'DROP TABLE ' || $1 ;
RETURN true;
END IF;
RETURN false;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
Código: Seleccionar todo
function recover_configuration()
{
global $db, $lang;
// Drop existing Backup Table
//$sql = 'DROP TABLE IF EXISTS ' . CTRACKER_BACKUP;
$sql = "SELECT drop_table_if_exists('" . CTRACKER_BACKUP . "')";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, $lang['ctracker_error_database_op'], '', __LINE__, __FILE__, $sql);
}
// Create Backup table
$sql = "CREATE TABLE " . CTRACKER_BACKUP . " (
config_name varchar( 255 ) NOT NULL ,
config_value varchar( 255 ) NOT NULL ,
PRIMARY KEY ( config_name )
)";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, $lang['ctracker_error_database_op'], '', __LINE__, __FILE__, $sql);
}
// Insert config data
$sql = 'SELECT * FROM ' . CONFIG_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, $lang['ctracker_error_loading_config'], '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$row['config_name'] = addslashes($row['config_name']);
$row['config_value'] = addslashes($row['config_value']);
$sql2 = "INSERT INTO " . CTRACKER_BACKUP . " (config_name, config_value) VALUES ('". $row['config_name'] . "', '". $row['config_value'] . "')";
if ( !$result2 = $db->sql_query($sql2) )
{
message_die(GENERAL_ERROR, $lang['ctracker_error_database_op'], '', __LINE__, __FILE__, $sql2);
}
}
// Insert Backup Timestamp
$sql = 'INSERT INTO ' . CTRACKER_BACKUP . ' (config_name, config_value) VALUES (\'ct_last_backup\', \'' . time() . '\')';
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, $lang['ctracker_error_database_op'], '', __LINE__, __FILE__, $sql);
}
}
Nunca digas todo lo que sabes, nunca hagas todo lo que puedas, nunca creas todo lo que oyes, nunca gastes todo lo que tienes, nunca juzgues todo lo que ves
Porque quien dice todo lo que sabe, hace todo lo que puede, cree todo lo que oye, gasta todo lo que tiene, y juzga todo lo que ve
Un día dirá lo que no conviene, hará lo que no debe, creerá lo que no es,
gastará lo que no puede, y juzgará lo que no es
Porque quien dice todo lo que sabe, hace todo lo que puede, cree todo lo que oye, gasta todo lo que tiene, y juzga todo lo que ve
Un día dirá lo que no conviene, hará lo que no debe, creerá lo que no es,
gastará lo que no puede, y juzgará lo que no es