BBCode personalizado preg_replace exploit (se necesita ayuda con el parche)

0

Tengo un problema donde las personas pueden explotar mi BBCode personalizado. No estoy seguro de cómo arreglar esto, y esperaba que alguien aquí me ayudara. En el código a continuación, hay mucho más BBCode en los arreglos, pero solo he proporcionado el más vulnerable.

function BBCode($input) {
    $input = htmlentities($input, ENT_QUOTES);

    $search = array('/\[font color=(.+?)\](.*?)\[\/font\]/is');

    $replace = array('<font style="color: $1">$2</font>');

    $bbcoded = preg_replace($search, $replace, $input);

    return $bbcoded;
}

Si tuviera que publicar algo como "[font color = # 5fd233; font-size: 50px] test 2 [/ font]", también incluiría el atributo de tamaño de fuente. He intentado una solución de terceros llamada "HTMLPurifier", pero no funcionó.

Gracias de antemano!

    
pregunta UnderMyWheel 22.04.2017 - 22:29
fuente

0 respuestas

Lea otras preguntas en las etiquetas