Contacto | #php_para_torpes | Enlázanos | ¿Quiénes somos?
28 usuarios Online (0)
Darse de alta en la web | Recuperar password   
Inicio / Foros / PHP-Hispano / Un fantasma en PHPNuke (y no es una coña)
4 respuestas recibidas | 122 visitas | Categoría PHP-Hispano

Un fantasma en PHPNuke (y no es una coña)

Avatar de heathcliff
Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1

(Nivel 1 - 3 posts)

#0 Offline heathcliff Usuario 31 ene 08 (23:28)  
Queridos amigos:

Ante todo os pido que no os riáis de mí, proque estoy alucinando y me gustaría que alguien lo comprobase a ver a qué se puede deber esto:

Si escribes cualquier noticia o artículo en añadir News, o añadir noticia en una página montada en PHPNuke, el texto sale sin problemas. Si la palabra que metes es una grosería censyurada, te la suprime o te la sustiituye por asteriscos. Hasta ahí todo correcto.

Pero si escribes Union Castle Line (que es el nombre de una compañía naviera) el artículo entero deseaparece. Lo he hecho ya docenas de veces y no me puedo explicar a qué se debe esto. ¿Alguien sería tan amable de llamarme majadero con una explicación razonable?

Muchas gracias

Re: Un fantasma en PHPNuke (y no es una coña)

Avatar de Mike
Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2

(Nivel 2 - 60 posts)

#1 Offline Mike Usuario 01 feb 08 (00:07)  
si no me equivoco, se debe a esto:

Código PHP


$postString = "";
foreach ($_POST as $postkey => $postvalue)
{
    if ($postString > "")
    {
        $postString .= "&" . $postkey . "=" . $postvalue;
    }
    else
    {
        $postString .= $postkey . "=" . $postvalue;
    }
}
str_replace("%09", "%20", $postString);
$postString_64 = base64_decode($postString);

if (stripos_clone($postString, '%20union%20') or stripos_clone($postString,
    '*/union/*') or stripos_clone($postString, ' union ') or stripos_clone($postString_64,
    '%20union%20') or stripos_clone($postString_64, '*/union/*') or stripos_clone($postString_64,
    ' union ') or stripos_clone($postString_64, '+union+'))
{
    header("Location: index.php");
    die();
}


Este codigo se encuentra en el mainfile.php

Esto evita el paso de la palabra union por POST, y te redirije al index.php si la encuentra.

Saludos!

(\__/)
(='.'=) Este es Bunny. Copia y pega a Bunny en
(")_(") tu firma y ayudalo a conquistar el mundo!!!
-----------------------------------------------------------------------
Su publicidad aqui por solo 10€, resultados garantizados!!!!

¿Y por qué hacen eso?

Avatar de heathcliff
Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1

(Nivel 1 - 3 posts)

#2 Offline heathcliff Usuario 01 feb 08 (06:50)  
Voy a probar, pero tiene toda la pinta de ser como dices.

Muchas gracias.

¿Tienes alguna idea de por qué hacen eso? Me parece tan ridículo que me cuesta entenderlo, aunque a lo mejor hay una razón de peso...

Gracias otra vez.

saludos

Re: Un fantasma en PHPNuke (y no es una coña)

Avatar de Mike
Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2

(Nivel 2 - 60 posts)

#3 Offline Mike Usuario 01 feb 08 (12:08)  
eso es un parche que se puso para evitar inyecciones sql en formularios, por lo que si algun valor introducido en un formulario contiene alguna de esas claves, lo evitara directamente.

Un saludo!

(\__/)
(='.'=) Este es Bunny. Copia y pega a Bunny en
(")_(") tu firma y ayudalo a conquistar el mundo!!!
-----------------------------------------------------------------------
Su publicidad aqui por solo 10€, resultados garantizados!!!!

Muchas gracias

Avatar de heathcliff
Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1

(Nivel 1 - 3 posts)

#4 Offline heathcliff Usuario 01 feb 08 (16:03)  
Me ha quedado claro.

Todo muy lógico, peor es que sin saberlo era como para darse de cabezazos contra las paredes.

Un saludo y muchas gracias

Responder mensaje

Para poder participar debes estar registrado e identificado. Si no estás registrado como usuario de PHP-Hispano, :: Registrar ::
Login / Password   

Web alojada en Zilos

php-hispano.net 2002 - 2008 | XHTML 1.0
Datos Legales | Webmaster