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

Foro dedicado a Cracker Tracker Professional un MOD de seguridad para phpBB2
  Reglas del Foro
Antes de participar en los foros, leer esto por favor.
Normas generales de phpBB-Es y las de Soporte
Cerrado

0
No hay votos
 
Votos totales: 0

tk421
Observador/a
Mensajes: 13
Registrado: 19 Oct 2006, 12:06

Problema Con Cracker Tracker Y Base De Datos Postgres

#1

Mensaje por tk421 »

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?
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

tk421
Observador/a
Mensajes: 13
Registrado: 19 Oct 2006, 12:06

Re: Problema Con Cracker Tracker Y Base De Datos Postgres

#2

Mensaje por tk421 »

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.

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

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;
Y luego, he adaptado la función completa. Ha quedado así:

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);
		}
	}
Bueno, cuando siga probando y sacando nuevos fallos y sus correcciones los iré publicando
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

Cerrado

Volver a “Cracker Tracker Professional”