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.

base64_decode deshabilitadoTema Solucionado

Foros donde podréis dejar vuestras dudas sobre phpBB 3.0.x
Cerrado

0
No hay votos
 
Votos totales: 0

Avatar de Usuario
eddyxv
Observador/a
Mensajes: 15
Registrado: 13 Mar 2013, 22:47

base64_decode deshabilitado

#1

Mensaje por eddyxv »

URL: http://www.theforsakens.es
Plantilla(s) usuada(s): pbwow
MODs instalados: reimg, board3, bowob, pbwow
Versión de phpBB: 3.0.6
Servidor: Skylium (gratuito-p2h)

Hola he visto que había un tema ya abierto (http://www.phpbb-es.com/foro/tema32955.html)sobre este tema pero lleva ya mucho tiempo y me daba advertencia, por lo que he decidido abrir un nuevo tema.
El problema es el hosting en el que estoy hospedado ha decidido deshabilitar base64_decode por seguridad. El error que me sale es el siguiente en el portal, y en los post me sale algo parecido:

Código: Seleccionar todo

[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1281: base64_decode() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1281: base64_decode() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1281: base64_decode() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1281: base64_decode() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1281: base64_decode() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1281: base64_decode() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1281: base64_decode() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1281: base64_decode() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1281: base64_decode() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1281: base64_decode() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1281: base64_decode() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4239: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3494)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4241: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3494)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4242: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3494)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4243: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3494)
He visto que el user pduthey en el post que linkee más arriba logró una solución para el tema, pero al ver que varió después algunas cosas y leviatan21 le dio otros consejos para mejorarlo me quedé un poco perdido...>.<
Así que me gustaría que me ayudarais si es posible a implementar esto en mi foro ya que de la noche a la mañana se me ha vuelto un dolor de cabeza ya que soy novel en esto...xD

PD: Espero que esté bien posteado en soporte, si no es así moverlo por favor.. :)

Gracias y un saludo
Última edición por eddyxv el 11 Abr 2013, 02:18, editado 3 veces en total.

Avatar de Usuario
leviatan21
Ex Staff
Mensajes: 8279
Registrado: 26 Mar 2008, 20:06
Género:
Edad: 54

Re: base64_decode deshabilitado  Tema Solucionado

#2

Mensaje por leviatan21 »

Lo ideal es adicionar una función homónima en un archivo común del foro, de ahi mi sugerencia sobre ser menos invasivo.

Lo que deberías hacer es :

Abrir:

Código: Seleccionar todo

raíz/common.php
Buscar:

Código: Seleccionar todo

 ?> 
Antes, agregar:

Código: Seleccionar todo

/**
* mi_base64_decode()
*/

//* Funcion Decode Base64 en PHP
if (!function_exists('mi_base64_decode')) {
  function mi_base64_decode($encStr) {
    $base64s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    $decOut = "" ;
    $i = 0 ;
    for ($i=0; $i < strlen($encStr); $i+=4) {
      $bits = str_pad(decbin(strpos($base64s, $encStr[$i])),6,"0",STR_PAD_LEFT).str_pad(decbin(strpos($base64s, $encStr[$i+1])),6,"0",STR_PAD_LEFT).str_pad(decbin(strpos($base64s, $encStr[$i+2])),6,"0",STR_PAD_LEFT).str_pad(decbin(strpos($base64s, $encStr[$i+3])),6,"0",STR_PAD_LEFT);
      $decOut .= chr(bindec(substr($bits,0,8))).chr(bindec(substr($bits,8,8))).chr(bindec(substr($bits,16,8)));
    }
    if (ord($encStr[$i-2]) == 61) {
      return substr($decOut, 0, strlen($decOut)-2);
    }
    else
      if (ord($encStr[$i-1]) == 61) {
        return substr($decOut, 0, strlen($decOut)-1);
      }
      else {
        return $decOut;
      }
  }
}
Normas de phpBB España | Normas de Soporte
No doy soporte por privado : tenga en cuenta que su problema, también puede ser el problema de otro usuario.
Cualquier mensaje privado no solicitado será ignorado :twisted:

"Education is what remains after one has forgotten everything he learned in school" - Albert Einstein

Avatar de Usuario
eddyxv
Observador/a
Mensajes: 15
Registrado: 13 Mar 2013, 22:47

Re: base64_decode deshabilitado

#3

Mensaje por eddyxv »

¿Qué código es el que tengo que buscar?
Y sería solo eso?¿

Muchísimas gracias..>.<

Avatar de Usuario
leviatan21
Ex Staff
Mensajes: 8279
Registrado: 26 Mar 2008, 20:06
Género:
Edad: 54

Re: base64_decode deshabilitado

#4

Mensaje por leviatan21 »

En realiad es ir abajo de todo y antes de la última linea que es ?> agregar la funcion
Ahi lo corregí, al parecer el bbcode code con la sintaxis php jugó encontra.
Normas de phpBB España | Normas de Soporte
No doy soporte por privado : tenga en cuenta que su problema, también puede ser el problema de otro usuario.
Cualquier mensaje privado no solicitado será ignorado :twisted:

"Education is what remains after one has forgotten everything he learned in school" - Albert Einstein

Avatar de Usuario
eddyxv
Observador/a
Mensajes: 15
Registrado: 13 Mar 2013, 22:47

Re: base64_decode deshabilitado

#5

Mensaje por eddyxv »

Ya lo agregué y sigue igual... alguna sugerencia? :(

Gracias por todo y disculpa que moleste tanto..

Avatar de Usuario
leviatan21
Ex Staff
Mensajes: 8279
Registrado: 26 Mar 2008, 20:06
Género:
Edad: 54

Re: base64_decode deshabilitado

#6

Mensaje por leviatan21 »

Como cito en el tema anterior, esta es la lista de archivos donde se llama a la función base64_decode() de php

Lo que te sugiero que hagas es abrir esos archivos y buscar la palabra base64_decode reemplazándolo por mi_base64_decode

Código: Seleccionar todo

raíz/cron.php
echo base64_decode('R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');

raíz/search.php	
$bbcode_bitfield = $bbcode_bitfield | base64_decode($row['bbcode_bitfield']);

raíz/viewtopic.php
$bbcode_bitfield = $bbcode_bitfield | base64_decode($row['bbcode_bitfield']);

raíz/viewtopic.php
$bbcode_bitfield = $bbcode_bitfield | base64_decode($row['user_sig_bbcode_bitfield']);

raíz/includes/functions.php
list($username, $password) = explode(':', base64_decode(substr($username, 6)), 2);

raíz/includes/functions_content.php
$this->data = base64_decode($bitfield);

raíz/includes/functions_jabber.php
$decoded = base64_decode($xml['challenge'][0]['#']);

raíz/includes/functions_messenger.php
$md5_challenge = base64_decode($this->responses[0]);

raíz/includes/functions_messenger.php
$md5_challenge = base64_decode($this->responses[0]);

raíz/includes/functions_posting.php
$bbcode_bitfield = $bbcode_bitfield | base64_decode($row['bbcode_bitfield']);

raíz/includes/functions_privmsgs.php	
$bbcode_bitfield = $bbcode_bitfield | base64_decode($row['bbcode_bitfield']);

raíz/includes/message_parser.php
$bbcode_bitfield = base64_encode(base64_decode($bbcode_bitfield) | base64_decode($this->bbcode_bitfield));

raíz/includes/message_parser.php		
$bbcode_bitfield = base64_encode(base64_decode($bbcode_bitfield) | base64_decode($this->bbcode_bitfield));		

raíz/includes/message_parser.php
$this->bbcode_bitfield = base64_encode(base64_decode($bbcode_bitfield) | base64_decode($this->bbcode_bitfield));

raíz/includes/message_parser.php
$this->bbcode_bitfield = base64_encode(base64_decode($bbcode_bitfield) | base64_decode($this->bbcode_bitfield));

raíz/includes/captcha/captcha_non_gd.php
$hold_chars[$char] = str_split(base64_decode($this->filtered_pngs[$char]['data']), $raw_width + 1);

raíz/includes/cp/mcp_topic.php	
$bbcode_bitfield = $bbcode_bitfield | base64_decode($row['bbcode_bitfield']);
Y si tienes el Support ToolKit (STK)

Código: Seleccionar todo

raíz/stk/includes/admin/reparse_bbcode.php		
$this->message_parser->bbcode_bitfield = base64_encode(base64_decode($this->poll_parser->bbcode_bitfield) | base64_decode($this->message_parser->bbcode_bitfield));
Normas de phpBB España | Normas de Soporte
No doy soporte por privado : tenga en cuenta que su problema, también puede ser el problema de otro usuario.
Cualquier mensaje privado no solicitado será ignorado :twisted:

"Education is what remains after one has forgotten everything he learned in school" - Albert Einstein

Avatar de Usuario
eddyxv
Observador/a
Mensajes: 15
Registrado: 13 Mar 2013, 22:47

Re: base64_decode deshabilitado

#7

Mensaje por eddyxv »

Vale ya me ha funcionado, una vez más te agradezco muchísimo por lo que hacéis. Un saludo y espero no daros más trabajo..>.<

PD: Solucionado

Cerrado

Volver a “Foros de Soporte 3.0.x”