bug en mchat Tema Solucionado
Publicado: 14 Ago 2013, 02:34
Realmente es para alertar de un bug que trae el mchat grave el cual permite a cualquiera sin permisos poder editar y borrar mensajes en el mchat. Su creador a puesto a un parche para acomodar esto. estuve buscando en el foro y no encontré otro post que hablara del asunto. si es así disculpas. Aquí esta el link https://www.phpbb.com/customise/db/mod/ ... 46#p245646
abrir mchat.php
Encontrar
Reemplazar por
Encontrar
Reemplazar
abrir mchat.php
Encontrar
Código: Seleccionar todo
// Edit function...
case 'edit':
// edit and delete auths
$mchat_edit = $auth->acl_get('u_mchat_edit') ? true : false;
$mchat_del = $auth->acl_get('u_mchat_delete') ? true : false;
// If mChat disabled and not edit
if (!$config['mchat_enable'] || !$mchat_edit)
{
// Forbidden (for jQ AJAX request)
header('HTTP/1.0 403 Forbidden');
exit_handler();
}
// Reguest...
$message_id = request_var('message_id', 0);
Código: Seleccionar todo
// Edit function...
case 'edit':
$message_id = request_var('message_id', 0);
// check for the correct user
$sql = 'SELECT *
FROM ' . MCHAT_TABLE . '
WHERE message_id = ' . (int) $message_id;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
// edit and delete auths
$mchat_edit = $auth->acl_get('u_mchat_edit')&& ($auth->acl_get('m_') || $user->data['user_id'] == $row['user_id']) ? true : false;
$mchat_del = $auth->acl_get('u_mchat_delete') && ($auth->acl_get('m_') || $user->data['user_id'] == $row['user_id']) ? true : false;
// If mChat disabled and not edit
if (!$config['mchat_enable'] || !$mchat_edit)
{
// Forbidden (for jQ AJAX request)
header('HTTP/1.0 403 Forbidden');
exit_handler();
}
// Reguest...
Código: Seleccionar todo
// Delete function...
case 'delete':
// must have auths to delete
$mchat_del = ($auth->acl_get('u_mchat_delete')) ? true : false;
// Reguest...
$message_id = request_var('message_id', 0);
Código: Seleccionar todo
// Delete function...
case 'delete':
$message_id = request_var('message_id', 0);
// check for the correct user
$sql = 'SELECT *
FROM ' . MCHAT_TABLE . '
WHERE message_id = ' . (int) $message_id;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
// edit and delete auths
$mchat_edit = $auth->acl_get('u_mchat_edit')&& ($auth->acl_get('m_') || $user->data['user_id'] == $row['user_id']) ? true : false;
$mchat_del = $auth->acl_get('u_mchat_delete') && ($auth->acl_get('m_') || $user->data['user_id'] == $row['user_id']) ? true : false;