elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Resuelto] Traducir pagina PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] Traducir pagina PHP  (Leído 2,423 veces)
exploiterstack

Desconectado Desconectado

Mensajes: 102


Ver Perfil
[Resuelto] Traducir pagina PHP
« en: 13 Enero 2015, 14:47 pm »

Tengo una duda a la hora de realizar una traducción de una pagina web a dos idiomas diferentes(Español y Catalán)

Lo que no pretendo es crear dos paginas para cada archivo de la web con sus respectivos textos traducidos, si no crear dos archivos los cuales tendrán la correspondiente traducción. Lo que he realizado hasta ahora ha sido crearme dos archivos PHP con los textos que contendrá la pagina web ya traducidos estos textos se llaman es.php y ca.php.

Cada uno de los archivos esta compuesto con una lista de:

Código
  1. define("T01","Marketing Directo");
Y en el lugar donde se quiera codificar según el idioma que sea pondrá:

Código
  1. <?php utf8_decode(T01)?>
Esto es lo que entiendo por lo que he leído por Internet, pero no consigo hacerlo funcionar.

pd: En todas las paginas de la web tendrán dos enlaces que según cual se seleccione traducirá la web al idioma seleccionado.

Un saludo a la comunidad! ;)


« Última modificación: 14 Enero 2015, 13:07 pm por #!drvy » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.592



Ver Perfil WWW
Re: Traducir pagina PHP
« Respuesta #1 en: 13 Enero 2015, 15:44 pm »

No te funciona, ¿ Por qué ?, ¿ Te da algún error ?. Lo único que veo mal es que no hayas puesto echo delante de utf8_decode. Ademas, ¿ Estas seguro que debes usarlo ? Si todos los datos están guardados en UTF8 no veo sentido.

Saludos


En línea

JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.613



Ver Perfil WWW
Re: Traducir pagina PHP
« Respuesta #2 en: 14 Enero 2015, 06:23 am »

Aparte del echo... tendrás que definir alguna manera en cómo saber que idioma se ha seleccionado. Algo simple como ejemplo es solicitar tu url de la forma: www.mipagina.web?language=es

Y entonces, al recibir ese valor cargar el archivo correspondiente:

Código
  1.  
  2. $language = (!empty($_GET['language'])) ? $_GET['language'].'.php' : 'es.php';
  3. include_once($language);
  4. echo utf8_decode(T01);
  5.  
  6.  

Puse el código al vuelo sin confirmar nada, posiblemente tenga algún error :D
En línea

exploiterstack

Desconectado Desconectado

Mensajes: 102


Ver Perfil
Re: Traducir pagina PHP
« Respuesta #3 en: 14 Enero 2015, 12:36 pm »

Muchísimas gracias, me ha funcionado a la perfección.  ;)

Un saludo!
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.952


I'm fourth.


Ver Perfil WWW
Re: [Resuelto] Traducir pagina PHP
« Respuesta #4 en: 14 Enero 2015, 15:46 pm »

Aparte del echo... tendrás que definir alguna manera en cómo saber que idioma se ha seleccionado. Algo simple como ejemplo es solicitar tu url de la forma: www.mipagina.web?language=es

Y entonces, al recibir ese valor cargar el archivo correspondiente:

Código
  1.  
  2. $language = (!empty($_GET['language'])) ? $_GET['language'].'.php' : 'es.php';
  3. include_once($language);
  4. echo utf8_decode(T01);
  5.  
  6.  

Puse el código al vuelo sin confirmar nada, posiblemente tenga algún error :D

Nada mas ten cuidado con el LFI ahí. Sería mejor poner una lista blanca para que solo puedas incluir archivos de lenguaje.

¿Por cierto, si estas manejando varios lenguajes, porque usar UTF8_decode? UTF8 es mejor para representar datos de varios lenguajes que ISO-8859.
En línea

JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.613



Ver Perfil WWW
Re: [Resuelto] Traducir pagina PHP
« Respuesta #5 en: 14 Enero 2015, 21:17 pm »

Nada mas ten cuidado con el LFI ahí. Sería mejor poner una lista blanca para que solo puedas incluir archivos de lenguaje.

Por eso es un ejemplo básico. De cómo definir que archivo usar existen varias maneras (cookies, sesiones, DB) y obviamente la menos segura es usar GET y además no confirmar nada respecto a seguridad.
En línea

exploiterstack

Desconectado Desconectado

Mensajes: 102


Ver Perfil
Re: [Resuelto] Traducir pagina PHP
« Respuesta #6 en: 15 Enero 2015, 08:22 am »

Hola antes de nada gracias por contestar,

Con que te refieres con lista blanca? he visto que hacéis uso de estos términos...Entiendo que es una lista/archivo | función/procedimiento donde se filtran los archivos que se deseen incluir, en este caso únicamente los archivos es.php y ca.php. Si no es así hacérmelo saber.

Luego también entiendo que se pueda hacer un Local File Inclusión, pero como determinas que se pueda un LFI y no un RFI? o seria vulnerable a los dos? Es decir cuando sabes que es vulnerable a uno y a otro?

¿Por cierto, si estas manejando varios lenguajes, porque usar UTF8_decode? UTF8 es mejor para representar datos de varios lenguajes que ISO-8859.

Digamos que estoy aprovechando dos archivos de gran tamaño que contienen una gran cantidad de constantes codificadas en esa codificación y estoy creando la pagina desde cero en HTML5 y sera para codificar esas constantes en la estructura de la nueva pagina.

Espero su respuesta, un enorme saludo!
« Última modificación: 15 Enero 2015, 08:31 am por exploiterstack » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.592



Ver Perfil WWW
Re: [Resuelto] Traducir pagina PHP
« Respuesta #7 en: 15 Enero 2015, 12:05 pm »

Citar
Con que te refieres con lista blanca? he visto que hacéis uso de estos términos...Entiendo que es una lista/archivo | función/procedimiento donde se filtran los archivos que se deseen incluir, en este caso únicamente los archivos es.php y ca.php. Si no es así hacérmelo saber.

Efectivamente, una lista blanca es una lista con unos parametros predeterminados que se usa para "limitar" o "filtrar" los datos que envía el usuario. En cierto modo, restringes lo que pueda poner el usuario.

Un ejemplo:

Código
  1. <?php
  2.  
  3. $langs = array('es'=>'es.php', 'cat'=>'cat.php');
  4.  
  5. $lang = (isset($_GET['lang'], $langs[$_GET['lang']]) ? $langs[$_GET['lang']] : 'es');
  6.  
  7. include_once $langs[$lang];
  8.  

De esta forma, limitas que el usuario solo pueda usar ciertos parámetros y no todo lo que quiera.

Citar
Luego también entiendo que se pueda hacer un Local File Inclusión, pero como determinas que se pueda un LFI y no un RFI? o seria vulnerable a los dos? Es decir cuando sabes que es vulnerable a uno y a otro?

De hecho ese código podría ser vulnerable a RFI perfectamente siempre y cuando la directiva allow_url_include este On.

RFI es cuando eres capaz de incluir una URL, es decir, un archivo remoto que esta en otro sitio (no en tu servidor) y el LFI es justo lo contrario.

Saludos
« Última modificación: 15 Enero 2015, 12:09 pm por #!drvy » En línea

exploiterstack

Desconectado Desconectado

Mensajes: 102


Ver Perfil
Re: [Resuelto] Traducir pagina PHP
« Respuesta #8 en: 15 Enero 2015, 12:44 pm »

Hola #!drvy gracias de nuevo,

Yo conocía esos dos tipos de ataques, y se que se dan cuando queda al descubierto que el usuario(maligno) pueda insertar un archivo por medio de una url y siempre y cuando no este filtrado a la hora de hacer el include. Pero desconocía cuando podría ser un LFI y un RLI.

La única manera de que fuera vulnerable seria si estuviera esa directiva activada?

Un saludo!
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.592



Ver Perfil WWW
Re: [Resuelto] Traducir pagina PHP
« Respuesta #9 en: 15 Enero 2015, 12:52 pm »

Citar
La única manera de que fuera vulnerable seria si estuviera esa directiva activada?

Para RFI si, porque por defecto, include (o require) no tiene permitido hacer peticiones a URLs.

Saludos
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines