Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Xt3mP

#41
Back-end / [Tutorial] Sistema de modulación (Mod=X)
Julio 15, 2010, 01:09:08 PM
En este tutorial aprenderémos a como llevar acabo una modulación, antes que nada un ejemplo de modulación sería este foro, te preguntarás ¿Por qué?
Ya que al meter variable por método "GET" incluímos alguna página en específico, por ejemplo:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Nota: Utilizo el "?" para indicar que se trata de una variable y no es necesario escribir "index.php" ya que al poner el "?" automáticamente se indica, pero recuerden que si ponemos
"?" tomara lo de atras como "index.php", por eso a veces es mejor poner bien la página (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

¿Como harémos esto? Fácil, utilizando el lenguaje PHP, ocuparémos príncipalmente una página PHP que tendrá los valores de las variables.

Código

Código: php

<?php
$modulo = $_GET['mod'];
if ($modulo){

switch ($modulo){

case "main":
include ("main.php");
break;

case "downloads":
include ("downloads.php");
break;

case "contact":
include ("contact.php");
break;

default:
echo "El módulo no existe";
}

}else{
include ("main_user.php");
}


?>



¿Qué hacemos? Obtenemos el valor de la variable por método get llamada "mod" (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta) y ese valor se lo ponemos a la variable "$modulo" (Puede ser $loquesea) siempre y cuando no empieze con valor númerico.

Despues hacemos un condicional (if) y literalmente preguntamos "Si $modulo tiene un valor has lo siguiente", asi que si mod=X tiene algun valor abrirá un switch (Se utiliza switch cuando son muchas condiciones para no utilizar ifs en exceso) en donde en este caso damos "3 condiciones", la primera llamada main, la segunda downloads y la tercera contact.

¿Como funciona el switch? Da click aquí para aprender como se usa, pero igual lo explicaré brevemente aquí, switch como mencione arriba son para muchas condiciones, por lo que si mod
esta en alguno de los "case" hara lo que sigue, por ejemplo si mod=X es igual a mod=main incluirá la página "main.php", en cambio si mod=X es igual a mod=Y incluirá la página "y.php", solo es cuestión de que ustedes vayan variando dependiendo cuantos módulos ocupan.

Ahora, default es literalmente "Si ninguno de los cases anteriores es la condicón, has lo siguiente", en este caso si digamos la url es mod=tools, en el código no existe ningun case "tools": por lo que incluidará "main_user.php".

Así de sencillo es la modulación, solo es cuestión de que vayan jugando con el código, ya en main.php pueden poner algún index, en downloads.php algunas descargas, en contact.php información de contacto y en main_user.php algún mensaje de que el MODULO NO EXISTE.

Si tienen alguna duda y/ó sugerencia respondan a este post.

Suerte.

P.D. include(); como su nombre lo dice sirve para incluír.

ByeOFF.
#42
Bugs y Exploits / [Videotuto] HTML Injection [Xt3mP]
Marzo 21, 2010, 07:12:37 PM
Esta inyección es muy poco común encontrarla todavía, pero aún ahi webs así, esto es posible por que no filtran los textos y al poner etiquetas estás son almacenadas en el archivo .php lo que nos hace posible el ataque.


Suerte.
#43
Creador: Xt3mP
Utilidad: Personalización de USB
Lenguaje: Batch
Instrucciones: Simplemente seguir las que te dice ahí.
Introducción: Programa en batch que te personaliza el USB indicado (dicho).
gr33tz: A mi buen estimado xassiz que me asesoró en una pequeña parte del código (color), sin él, el código no existiría.

Código: text
@echo off
color 0A
mode con cols=85 lines=15
title Windows USB Customization Tool v1.0 by Xt3mP
:portada
echo.         
echo.      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo.      ³        Windows USB Customization Tool       ³  Programa creado con ³
echo.      ³       ________ _______ ______ _______       ³  la finalidad de dar ³
echo.      ³      l  l  l  l    ___l     _l_     _l      ³  un aspecto mejor a  ³
echo.      ³      l  l  l  l    ___l  --l_  l   l        ³  la apariencia de el ³
echo.      ³      l________l___l   l______l l___l        ³  usb en Windows.     ³
echo.      ³                 ____      ______            ³                      ³
echo.      ³         .--.--.l_   l    l      l           ³  Esta es la versi¢n  ³
echo.      ³         l  l  l _l  l_ __l  --  l           ³  1.0, apenas es un   ³
echo.      ³          \___/ l______l__l______l           ³  poco simple pero    ³
echo.      ³                                             ³  esperen a la v2.0   ³
echo.      ³                   By Xt3mP                  ³        SUERTE        ³
echo.      ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
pause>nul
:fondo1
mode con cols=85 lines=22
cls
echo.      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo.      ³        Windows USB Customization Tool       ³        Notas         ³
echo.      ³       ________ _______ ______ _______       ³______________________³
echo.      ³      l  l  l  l    ___l     _l_     _l      ³                      ³
echo.      ³      l  l  l  l    ___l  --l_  l   l        ³  Es importante que   ³
echo.      ³      l________l___l   l______l l___l        ³  escribas bien la    ³
echo.      ³                 ____      ______            ³  direcci¢n de la     ³
echo.      ³         .--.--.l_   l    l      l           ³  im gen si no te     ³
echo.      ³         l  l  l _l  l_ __l  --  l           ³  puede dar un error. ³
echo.      ³          \___/ l______l__l______l           ³                      ³
echo.      ³                                             ³  Para facilitar la   ³
echo.      ³_____________________________________________³  direcci¢n de la     ³
echo.      ³                                             ³  im gen te recomien- ³
echo.      ³      A continuaci¢n deber s escribir        ³  do arrastrar la     ³
echo.      ³      la direcci¢n de la im gen que          ³  im gen a este batch ³
echo.      ³      quieres poner de fondo.                ³  y solo borrar las   ³
echo.      ³      Ej: C:\Documents.....imagen.png        ³  comillas que te a-  ³
echo.      ³                                             ³  parecer n.          ³
echo.      ³                   By Xt3mP                  ³                      ³
echo.      ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ           
set /p fondo=
if not exist %fondo% (msg * Por favor escribe una direcci¢n correcta.&goto fondo1)
if not defined fondo (cls&&msg * No escribiste nada, por favor escribe una direcci¢n correcta.&&goto fondo1)
:icono1
cls
echo.      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo.      ³        Windows USB Customization Tool       ³        Notas         ³
echo.      ³       ________ _______ ______ _______       ³______________________³
echo.      ³      l  l  l  l    ___l     _l_     _l      ³                      ³
echo.      ³      l  l  l  l    ___l  --l_  l   l        ³  Es importante que   ³
echo.      ³      l________l___l   l______l l___l        ³  escribas bien la    ³
echo.      ³                 ____      ______            ³  direcci¢n de el     ³
echo.      ³         .--.--.l_   l    l      l           ³  icono si no te      ³
echo.      ³         l  l  l _l  l_ __l  --  l           ³  puede dar un error. ³
echo.      ³          \___/ l______l__l______l           ³                      ³
echo.      ³                                             ³  Para facilitar la   ³
echo.      ³_____________________________________________³  direcci¢n de el ico ³
echo.      ³                                             ³  no te recomiendo    ³
echo.      ³      A continuaci¢n deber s escribir        ³  arrastrar el icono  ³
echo.      ³      la direcci¢n de el icono que           ³  a este batch y solo ³
echo.      ³      quieres poner de vista.                ³  borrar las comillas ³
echo.      ³      Ej: C:\Documents.....icono.ico         ³  que te aparecer n.  ³
echo.      ³                                             ³                      ³
echo.      ³                   By Xt3mP                  ³                      ³
echo.      ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
set /p icono=
if not exist %icono% (msg * Por favor escribe una direcci¢n correcta.&goto icono1)
if not defined icono (cls&&msg * No escribiste nada, por favor escribe una direcci¢n correcta.&&goto icono1)
:color1
cls
echo.      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo.      ³        Windows USB Customization Tool       ³        Colores       ³
echo.      ³       ________ _______ ______ _______       ³______________________³
echo.      ³      l  l  l  l    ___l     _l_     _l      ³                      ³
echo.      ³      l  l  l  l    ___l  --l_  l   l        ³                      ³
echo.      ³      l________l___l   l______l l___l        ³                      ³
echo.      ³                 ____      ______            ³  Blanco:   16777215  ³
echo.      ³         .--.--.l_   l    l      l           ³  Rojo:     255       ³
echo.      ³         l  l  l _l  l_ __l  --  l           ³  Azul:     16711680  ³
echo.      ³          \___/ l______l__l______l           ³  Verde:    65280     ³
echo.      ³                                             ³  Amarillo: 65535     ³
echo.      ³_____________________________________________³  Naranja:  33023     ³
echo.      ³                                             ³  Gris:     12632256  ³
echo.      ³      A continuaci¢n deber s escribir        ³  Morado:   16711808  ³
echo.      ³      el color de texto que quieres          ³                      ³
echo.      ³      que este dentro de tu USB.             ³                      ³
echo.      ³      Ej: 255                                ³                      ³
echo.      ³                                             ³                      ³
echo.      ³                   By Xt3mP                  ³                      ³
echo.      ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 
set /p color=
if not defined color (cls&&msg * No escribiste nada, por favor escribe un valor de color correcto.&&goto color1)
for %%_ in (1677715 255 16711680 65280 65535 33023 12632256 16711808) do (
if ["%color%"]==["%%_"]  (goto:usb1)
)
msg * El valor del color ingresado no coincide con los de la tabla de tu derecha.
goto:color1
:usb1
cls
echo.      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo.      ³        Windows USB Customization Tool       ³        Notas         ³
echo.      ³       ________ _______ ______ _______       ³______________________³
echo.      ³      l  l  l  l    ___l     _l_     _l      ³                      ³
echo.      ³      l  l  l  l    ___l  --l_  l   l        ³  Es importante que   ³
echo.      ³      l________l___l   l______l l___l        ³  escribas bien la    ³
echo.      ³                 ____      ______            ³  direcci¢n de el     ³
echo.      ³         .--.--.l_   l    l      l           ³  USB si no te        ³
echo.      ³         l  l  l _l  l_ __l  --  l           ³  puede dar un error. ³     
echo.      ³          \___/ l______l__l______l           ³                      ³
echo.      ³                                             ³  Para facilitar      ³
echo.      ³_____________________________________________³  direcci¢n de el USB ³
echo.      ³                                             ³  te recomiendo       ³
echo.      ³      A continuaci¢n deber s escribir        ³  arrastrar el USB    ³
echo.      ³      la direccion de tu USB el cual         ³  a este batch y solo ³
echo.      ³      quieres personalizar.                  ³  borrar las comillas ³
echo.      ³      Ej: USB:(E:)                           ³  que te aparecer n.  ³
echo.      ³                                             ³                      ³
echo.      ³                   By Xt3mP                  ³                      ³
echo.      ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 
set /p usb=
if not exist %usb% (msg * Por favor escribe una direcci¢n correcta.&goto usb1)
if not defined usb (cls&&msg * No escribiste nada, por favor escribe una direcci¢n correcta.&&goto usb1)
copy "%fondo%" "%usb%/fondo1.png"
copy "%icono%" "%usb%/icono.ico
echo cd %usb%/desktop.ini
echo [{BE098140-A513-11D0-A3A4-00C04FD706EC}]>>%usb%/desktop.ini
echo ICONAREA_IMAGE=fondo1.png>>%usb%/desktop.ini
echo ICONAREA_TEXT=%color%>>%usb%/desktop.ini
echo cd %usb%/autorun.inf
echo [AUTORUN]>>%usb%/autorun.inf
echo icon=icono.ico>>%usb%/autorun.inf
echo       ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo       ³           Personalizando USB...             ³
echo       ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
:creditos
mode con cols=85 lines=27
cls
echo.      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo.      ³        Windows USB Customization Tool       ³      Comentarios     ³
echo.      ³       ________ _______ ______ _______       ³______________________³
echo.      ³      l  l  l  l    ___l     _l_     _l      ³                      ³
echo.      ³      l  l  l  l    ___l  --l_  l   l        ³ Programa creado      ³
echo.      ³      l________l___l   l______l l___l        ³ para que analizen    ³
echo.      ³                 ____      ______            ³ el codigo y tambien  ³
echo.      ³         .--.--.l_   l    l      l           ³ para personalizar el ³
echo.      ³         l  l  l _l  l_ __l  --  l           ³ USB.                 ³
echo.      ³          \___/ l______l__l______l           ³                      ³
echo.      ³                                             ³______________________³
echo.      ³_____________________________________________³        Gr33tz        ³
echo.      ³                                             ³______________________³
echo.      ³           Programaci¢n por: Xt3mP           ³                      ³
echo.      ³                                             ³   *Xassiz            ³                       
echo.      ³_____________________________________________³   *WsCalle1          ³
echo.      ³                                             ³   *Foro Mechanixer   ³
echo.      ³           Contacto: [email protected]         ³   *Foro e-R00t       ³
echo.      ³           Paginas:                          ³                      ³
echo.      ³           [url=http://WWW.FORO.MECHANIXER.ORG]WWW.FORO.MECHANIXER.ORG[/url]           ³                      ³
echo.      ³           [url=http://WWW.e-r00t.org/FORO]WWW.e-r00t.org/FORO[/url]               ³                      ³
echo.      ³                                             ³______________________³
echo.      ³                   By Xt3mP                  ³    [email protected]   ³
echo.      ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
pause>nul
echo La imagen que se utilizo de fondo se encuentra en: %fondo%>>detalles.txt
echo La imagen que se utilizo de icono se encuentra en: %icono%>>detalles.txt
echo El color que se utilizo fue: %color%>>detalles.txt
echo La direccion de tu USB es: %usb%>>detalles.txt
start detalles.txt
start http://e-r00t.org/foro
start http://www.foro.mechanixer.org
msg * Gracias por utilizarel WUCT v1.0 / Xt3mP
exit


Saludos.
#44
Batch - Bash / De/crypter v1.0 [Xt3mP]
Marzo 19, 2010, 03:32:54 PM
Creador: Xt3mP
Utilidad: Encriptador y Desencriptador
Lenguaje: Batch
Instrucciones: Simplemente seguir las que te dice ahí.
Mejoras:
·Inyección Batch: Ahora ya puedes encriptar los carácteres especiales como "&" ">", etc.
Introducción: Programa en batch que te encripta y/o desencripta el texto ingresado (Multiusos). Parecido a md5 100% completo.
gr33tz: A mi buen estimado xassiz que reparó el código, sin él este código estuviera mal.

Código: text
@echo off
color 0c
Title C.Dv1.0 by Xt3mP - mod by xassiz
::moded by xassiz
echo.
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]               _____  ______          __   _____              [+]
echo [+]              /  __ \ l  _  \        /  l l  _  l             [+]
echo [+]              l /  \/ l l l l __   __`l l l l/' l             [+]
echo [+]              l l     l l l l \ \ / / l l l  /l l             [+]
echo [+]              l \__/\_l l/ /   \ V / _l l_\ l_/ /             [+]
echo [+]               \____(_)___/     \_/  \___(_)___/              [+]
echo [+]              Crypter and Decrypter v1.0 by Xt3mP             [+]
echo [+]                         fixer by xassiz                      [+]
echo [+]______________________________________________________________[+]
echo [+]______________________________________________________________[+]
pause>nul
goto menu
:menu
cls
echo  __________________________________________________________________
echo [+]______________Crypter and Decrypter v1.0 by Xt3mP_____________[+]
echo [+]                   *1. Encriptar texto                        [+]
echo [+]                   *2. Desencriptar texto                     [+]
echo [+]                   *3. Ver equivalencias                      [+]
echo [+]                                                              [+]
echo [+]______________________________________________________________[+]
echo [+]___________________________MP©2009____________________________[+]
echo.&set "var="
set/p "var=>> "
if not defined var (goto:menu)
If ["%var%"]==["1"] goto encriptar
If ["%var%"]==["2"] goto desencriptar
If ["%var%"]==["3"] goto equivalencias
goto:menu
:encriptar
cls
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]               _____  ______          __   _____              [+]
echo [+]              /  __ \ l  _  \        /  l l  _  l             [+]
echo [+]              l /  \/ l l l l __   __`l l l l/' l             [+]
echo [+]              l l     l l l l \ \ / / l l l  /l l             [+]
echo [+]              l \__/\_l l/ /   \ V / _l l_\ l_/ /             [+]
echo [+]               \____(_)___/     \_/  \___(_)___/              [+]
echo [+]              Crypter and Decrypter v1.0 by Xt3mP             [+]
echo [+]                         fixer by xassiz                      [+]
echo [+]______________________________________________________________[+]
echo [+]______________________________________________________________[+]
echo.&set "palabra="
set/p "palabra=Escriba las palabras que quieras encriptar: "
if not defined palabra (goto:encriptar)
set "var=%palabra%"
set "resultado=%var:a=1%"
set "resultado=%resultado:b=-%"
set "resultado=%resultado:c=.%"
set "resultado=%resultado:d=\%"
set "resultado=%resultado:e=$%"
set "resultado=%resultado:f=;%"
set "resultado=%resultado:g=?%"
set "resultado=%resultado:h=[%"
set "resultado=%resultado:i=+%"
set "resultado=%resultado:j=)%"
set "resultado=%resultado:k=]%"
set "resultado=%resultado:l=!%"
set "resultado=%resultado:m=(%"
set "resultado=%resultado:n=@%"
set "resultado=%resultado:ñ=¿%"
set "resultado=%resultado:o=,%"
set "resultado=%resultado:p=4%"
set "resultado=%resultado:q=/%"
set "resultado=%resultado:r=_%"
set "resultado=%resultado:s={%"
set "resultado=%resultado:t=#%"
set "resultado=%resultado:u=¡%"
set "resultado=%resultado:v=}%"
set "resultado=%resultado:w=:%"
set "resultado=%resultado:x=2%"
set "resultado=%resultado:y=6%"
set "resultado=%resultado:z=9%"
set "resultado=%resultado:&=^&%"
set "resultado=%resultado:>=^>%"
set "resultado=%resultado:<=^<%"
set "resultado=%resultado:|=^|%"
:finenc
cls
echo.
echo Las palabras encriptadas son: %resultado%
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]                   *1. Encriptar texto                        [+]
echo [+]                   *2. Desencriptar texto                     [+]
echo [+]                   *3. Ver equivalencias                      [+]
echo [+]                   *4. Ver bloc de notas                      [+]
echo [+]                   *5. Ver detalles                           [+]
echo [+]                   *6. Salir                                  [+]
echo [+]______________________________________________________________[+]
echo [+]___________________________MP©2009____________________________[+]
echo.&set "var2="
set/p "var2=>> "
if not defined var2 (goto:finenc)
if ["%var2%"]==["1"] goto encriptar
if ["%var2%"]==["2"] goto desencriptar
if ["%var2%"]==["3"] goto equivalencias
if ["%var2%"]==["4"] goto bloc1
if ["%var2%"]==["5"] goto detalles
if ["%var2%"]==["6"] goto exit
goto:finenc
:desencriptar
cls
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]               _____  ______          __   _____              [+]
echo [+]              /  __ \ l  _  \        /  l l  _  l             [+]
echo [+]              l /  \/ l l l l __   __`l l l l/' l             [+]
echo [+]              l l     l l l l \ \ / / l l l  /l l             [+]
echo [+]              l \__/\_l l/ /   \ V / _l l_\ l_/ /             [+]
echo [+]               \____(_)___/     \_/  \___(_)___/              [+]
echo [+]              Crypter and Decrypter v1.0 by Xt3mP             [+]
echo [+]                         fixer by xassiz                      [+]
echo [+]______________________________________________________________[+]
echo [+]______________________________________________________________[+]
set /p palabra=Escriba las palabras que quieras desencriptar:
set "var23=%palabra%"
set "resultado=%var23:1=a%"
set "resultado=%resultado:-=b%"
set "resultado=%resultado:.=c%"
set "resultado=%resultado:\=d%"
set "resultado=%resultado:$=e%"
set "resultado=%resultado:;=f%"
set "resultado=%resultado:?=g%"
set "resultado=%resultado:[=h%"
set "resultado=%resultado:+=i%"
set "resultado=%resultado:)=j%"
set "resultado=%resultado:]=k%"
set "resultado=%resultado:!=l%"
set "resultado=%resultado:(=m%"
set "resultado=%resultado:@=n%"
set "resultado=%resultado:¿=ñ%"
set "resultado=%resultado:,=o%"
set "resultado=%resultado:5=p%"
set "resultado=%resultado:/=q%"
set "resultado=%resultado:_=r%"
set "resultado=%resultado:{=s%"
set "resultado=%resultado:#=t%"
set "resultado=%resultado:¡=u%"
set "resultado=%resultado:}=v%"
set "resultado=%resultado::=w%"
set "resultado=%resultado:2=x%"
set "resultado=%resultado:6=y%"
set "resultado=%resultado:9=z%"
set "resultado=%resultado:&=^&%"
set "resultado=%resultado:>=^>%"
set "resultado=%resultado:<=^<%"
set "resultado=%resultado:|=^|%"
:fin
cls
echo.
echo Las palabras desencriptadas son: %resultado%
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]                   *1. Encriptar texto                        [+]
echo [+]                   *2. Desencriptar texto                     [+]
echo [+]                   *3. Ver equivalencias                      [+]
echo [+]                   *4. Ver bloc de notas                      [+]
echo [+]                   *5. Ver detalles                           [+]
echo [+]                   *6. Salir                                  [+]
echo [+]______________________________________________________________[+]
echo [+]___________________________MP©2009____________________________[+]
echo.&set "var="
set/p "var=>> "
if not defined var (goto:fin)
if ["%var%"]==["1"] goto encriptar
if ["%var%"]==["2"] goto desencriptar
if ["%var%"]==["3"] goto equivalencias
if ["%var%"]==["4"] goto bloc2
if ["%var%"]==["5"] goto detalles
if ["%var%"]==["6"] goto exit
goto:fin
:exit
cls
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]               _____  ______          __   _____              [+]
echo [+]              /  __ \ l  _  \        /  l l  _  l             [+]
echo [+]              l /  \/ l l l l __   __`l l l l/' l             [+]
echo [+]              l l     l l l l \ \ / / l l l  /l l             [+]
echo [+]              l \__/\_l l/ /   \ V / _l l_\ l_/ /             [+]
echo [+]               \____(_)___/     \_/  \___(_)___/              [+]
echo [+]              Crypter and Decrypter v1.0 by Xt3mP             [+]
echo [+]                         fixer by xassiz                      [+]
echo [+]______________________________________________________________[+]
echo [+]______________________________________________________________[+]
pause>nul
exit
:bloc1
cls
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]               _____  ______          __   _____              [+]
echo [+]              /  __ \ l  _  \        /  l l  _  l             [+]
echo [+]              l /  \/ l l l l __   __`l l l l/' l             [+]
echo [+]              l l     l l l l \ \ / / l l l  /l l             [+]
echo [+]              l \__/\_l l/ /   \ V / _l l_\ l_/ /             [+]
echo [+]               \____(_)___/     \_/  \___(_)___/              [+]
echo [+]              Crypter and Decrypter v1.0 by Xt3mP             [+]
echo [+]                         fixer by xassiz                      [+]
echo [+]______________________________________________________________[+]
echo [+]______________________________________________________________[+]
echo Las palabras encriptadas son: %resultado%>encriptadas.txt
start encriptadas.txt
:asdf
cls
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]               _____  ______          __   _____              [+]
echo [+]              /  __ \ l  _  \        /  l l  _  l             [+]
echo [+]              l /  \/ l l l l __   __`l l l l/' l             [+]
echo [+]              l l     l l l l \ \ / / l l l  /l l             [+]
echo [+]              l \__/\_l l/ /   \ V / _l l_\ l_/ /             [+]
echo [+]               \____(_)___/     \_/  \___(_)___/              [+]
echo [+]              Crypter and Decrypter v1.0 by Xt3mP             [+]
echo [+]                         fixer by xassiz                      [+]
echo [+]______________________________________________________________[+]
echo [+]______________________________________________________________[+]
echo.&set "var3="
set/p "var3=>> "
if not defined var3 (goto:asdf)
if ["%var3%"]==["1"] goto encriptar
if ["%var3%"]==["2"] goto desencriptar
if ["%var3%"]==["3"] goto equivalencias
if ["%var3%"]==["4"] goto bloc
if ["%var3%"]==["5"] goto detalles
if ["%var3%"]==["6"] goto exit
goto:asdf
:bloc2
cls
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]               _____  ______          __   _____              [+]
echo [+]              /  __ \ l  _  \        /  l l  _  l             [+]
echo [+]              l /  \/ l l l l __   __`l l l l/' l             [+]
echo [+]              l l     l l l l \ \ / / l l l  /l l             [+]
echo [+]              l \__/\_l l/ /   \ V / _l l_\ l_/ /             [+]
echo [+]               \____(_)___/     \_/  \___(_)___/              [+]
echo [+]              Crypter and Decrypter v1.0 by Xt3mP             [+]
echo [+]                         fixer by xassiz                      [+]
echo [+]______________________________________________________________[+]
echo [+]______________________________________________________________[+]
echo Las palabras desencriptadas son: %resultado%>desencriptadas.txt
start desencriptadas.txt
:asdf2
cls
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]               _____  ______          __   _____              [+]
echo [+]              /  __ \ l  _  \        /  l l  _  l             [+]
echo [+]              l /  \/ l l l l __   __`l l l l/' l             [+]
echo [+]              l l     l l l l \ \ / / l l l  /l l             [+]
echo [+]              l \__/\_l l/ /   \ V / _l l_\ l_/ /             [+]
echo [+]               \____(_)___/     \_/  \___(_)___/              [+]
echo [+]              Crypter and Decrypter v1.0 by Xt3mP             [+]
echo [+]                         fixer by xassiz                      [+]
echo [+]______________________________________________________________[+]
echo [+]______________________________________________________________[+]
echo.&set "var4="
set/p "var4=>> "
if not defined var4 (goto:asdf2)
if ["%var4%"]==["1"] goto encriptar
if ["%var4%"]==["2"] goto desencriptar
if ["%var4%"]==["3"] goto equivalencias
if ["%var4%"]==["4"] goto bloc
if ["%var4%"]==["5"] goto detalles
if ["%var4%"]==["6"] goto exit
goto:asdf2
:equivalencias
cls
echo.
echo a=1
echo b=-
echo c=.
echo d=\
echo e=$
echo f=;
echo g=?
echo h=[
echo i=+
echo j=)
echo k=]
echo l=!
echo m=(
echo n=@
echo ñ=¿
echo o=,
echo p=4
echo q=/
echo r=_
echo s={
echo t=#
echo u=¡
echo v=}
echo w=:
echo x=2
echo y=6
echo z=9
pause>nul
:asdf4
cls&echo.
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]                   *1. Encriptar texto                        [+]
echo [+]                   *2. Desencriptar texto                     [+]
echo [+]                   *3. Ver equivalencias                      [+]
echo [+]                   *4. Ver bloc de notas                      [+]
echo [+]                   *5. Ver detalles                           [+]
echo [+]                   *6. Salir                                  [+]
echo [+]______________________________________________________________[+]
echo [+]___________________________MP©2009____________________________[+]
echo.&set "var5="
set/p "var5=>> "
if not defined var5 (goto:asdf4)
if ["%var5%"]==["1"] goto encriptar
if ["%var5%"]==["2"] goto desencriptar
if ["%var5%"]==["3"] goto equivalencias
if ["%var5%"]==["4"] goto bloc
if ["%var5%"]==["5"] goto detalles
if ["%var5%"]==["6"] goto exit
goto:asdf4
:detalles
cls
echo La encriptación/desencriptación duró aproximadamente 0.0022 segundos>detalles.txt
start detalles.txt
echo. __________________________________________________________________
echo [+]_______________________MECHANIXER PROYECT_____________________[+]
echo [+]                   *1. Encriptar texto                        [+]
echo [+]                   *2. Desencriptar texto                     [+]
echo [+]                   *3. Ver equivalencias                      [+]
echo [+]                   *4. Ver bloc de notas                      [+]
echo [+]                   *5. Ver detalles                           [+]
echo [+]                   *6. Salir                                  [+]
echo [+]______________________________________________________________[+]
echo [+]___________________________MP©2009____________________________[+]
echo.&set "var6="
set/p "var6=>> "
if not defined var6 (goto:detalles)
if ["%var6%"]==["1"] goto encriptar
if ["%var6%"]==["2"] goto desencriptar
if ["%var6%"]==["3"] goto equivalencias
if ["%var6%"]==["4"] goto bloc
if ["%var6%"]==["5"] goto detalles
if ["%var6%"]==["6"] goto exit
goto:detalles


Suerte.
#45
Back-end / [Tutorial] Uso del Switch [Xt3mP]
Marzo 19, 2010, 01:52:01 AM
El uso del condicional switch más que nada es para evitar el uso excesivo de otro condicional (if, elseif), el switch no lo supera en líneas si no que hará más rápido el código y más estructurado/organizado este tambien.

Un ejemplo común del uso excesivo del if sería algo así:

Código: php

<?php
$color = $_POST['color'];
if ($color == "rojo"){
echo "Color rojo";
}elseif ($color == "verde"){
echo "Color verde";
}elseif ($color == "azul"){
echo "Color azul";
}elseif ($color == "blancl"){
echo "Color blanco";
}
?>


Cuando con el uso del switch sería así:

Código: php

<?php
$color = $_POST['color'];

switch ($color){
case "rojo":
echo "Color rojo";
break;

case "verde":
echo "Color verde";
break;

case "azul":
echo "Color azul";
break;

case "blanco":
echo "Color blanco";
break;
}
?>


Como podrán notar, es mucho mas organizado y si lo ponen a prueba trabaja más rápido ya que el switch es especialmente para muchas posibles respuestas, en cambio el if más que nada es para un uso de 3 respuestas, la estructura del switch es así:

Código: php

<?php
switch ($var){ // En donde con switch se indica como el nombre dice un cambio a lo que esta en paréntesis, en este caso la variable var
// Tambien se le agrega un "{" para indicar las condiciones y se cierra con un "}"

case "condicion1": // Case "condicion1" es como "en caso que la variable switch sea condicion1 has esto:"
echo "Respuesta"; // Mostramos lo que hará
break; // Es como un "}" , como el cierre de un IF.
} // Cerramos el switch
?>


Esto fue lo más básico del switch aunque creo que abarque lo mas escencial, nos vemos.

Suerte.
#46
Back-end / [Tutorial] Sessiones [Xt3mP]
Marzo 19, 2010, 01:21:57 AM
¿Qué es una sesion?
En lo que sería el área de programación web, una sesión se refiere a la interacción entre página>usuario asignando está un identificador único al usuario, haciendo uso de estas sesiones, lograrémos hacer un seguimiento del usuario durante toda la navegación en nuestra página.

¿Por qué creo que son mejores las sesiones que las cookies?
Fácil, ya que las cookies se pueden tener habilitadas en los navegadores web, ¿Pero qué pasa si no las tengo activadas? Pues perderíamos el rastro de la navegación del usuario, cuando las sesiones estarán fijas hasta que las cerremos.

¿Como iniciar una sesión?
Con el código "session_start()" que si no existe la sesión la crea, y si existe obviamente la retoma. Ahi varias variables en esto de iniciar una sesión ya que se le puede asignar un nombre o inclusive registrarla con cierto nombre, algo así:

Código: php

<?php
session_start(); // Creamos la sesión
session_register("tu_sesion"); // Registramos una sesión en específico
session_name("tu_sesion"); // Nombramos la sesión
?>


¿Como saber el identificador de una sesión?
Pues nada mas y nada menos que con:
Código: php

<?php
echo "El ID de esta sesión es: ".session_id(); // El ID de esta sesión es: 0s542sd4455532s56543432545
// Dependiendo de la sesión.
?>


Al cerrar la sesión y crear una nueva el identificador cambiará.

¿Como poner sesión dependiendo la acción?
Un ejemplo casero de login sería el formulario así:

Código: html5

<html><head><title>Formulario de sesion</title></head>
<body><form action="" method="POST">
Nombre: <input type="text" name="nombre" id="nombre><br><!-- Casilla de texto llamada nombre -->
Clave: <input type="password" name="pass" id="pass"><br><!-- Casilla de password llamada pass -->
<input type="submit" name="submit" value="Entrar"><!-- El boton que enviara el form -->
</form></body></html>


Y en el mismo archivo le pondrémos esto:
Código: php

<?php
if (isset($_POST['nombre'])){
if($_POST['nombre'] == "Xt3mP" && $_POST['pass'] == "clave"){
session_register('user');
$_SESSION['logeado'] = "SI";
$_SESSION['user'] = $_POST['nombre'];
echo "Bienvenido ".$_SESSION['user'];
}else{
echo "Los datos son incorrectos";
}
}// Cierre del isset
?>


En el código anterior indicamos que $_SESSION['logeado'] tiene el valor de SI y $_SESSION['user'] tiene el valor del usuario que en este caso es Xt3mP.

Error común.
Warning: Cannot send session cookie - headers already sent by (output started at /home/formulario.php:2) in /home/formulario.php on line 10

Aquí este error es por sintáxis, osea algúna línea en blanca ó por ejemplo, escribir algo antes de la etiqueta PHP en donde hacemos la sesión, para evitar esto borrémos líneas en blanco y agregemos al principio de todo esto:

Código: php

<?php
session_start();
?>


Eliminar sesiones.
Esto es lo mas sencillo ya que lo hacemos así:
Código: php

<?php
session_destroy();
?>


Aquí eliminamos las sesiones que estén activas, y para eliminar una sesión registrada harémos lo siguiente:
Código: php

<?php
session_unregister(); // En donde el nombre de sesion va entre ( y )
?>


Esto es un poco acerca de las sesiones en un ambiente laboral básico, espero le entiendan.
#47
Hola ¿Qué tal? Esto que les mostraré como hacer es para cuando olviden la contraseña en su sistema de usuario puedan recuperarla aleatoriamente, en cambio si la contraseña no está encriptada ó tiene un encriptado two way (en dos sentidos de/codificación) pues no ocuparán esto.

Esto lo hice por que ayer que trabajaba en el MC Habbix v1.0, pues las contraseñas las encripto en sha1, y dije ¿Y si se les olvidan la password? entonces recorde que sha1 y md5 son one way, osea no se podrán hacer a la inversa, así que lo que harémos será:

·Darle un UPDATE a la base de datos con al nueva contraseña.
·Escojer una nueva contraseña.
·Encriptarla nuevamente en sha1.
·Envíarla por correo al usuario.

Comenzarémos por crear nuestra tabla llamada users:
Código: php

CREATE TABLE users (
id int(10) auto_increment,
user varchar(255) NOT NULL,
pass varchar(255) NOT NULL,
nick varchar(255) NOT NULL,
habbo varchar(255) NOT NULL,
mail varchar(255) NOT NULL,
PRIMARY KEY (id)
)


Una vez creado esto harémos un archivo PHP llamado recordar.html con 3 casillas de texto de la siguiente forma:
Código: html5

<html><head><title>Recordar pass</title></head><body>
<form action="recordar.php" method="post">
Usuario:<input type="text" id="user" name="user" size="15"><br>
Nick:<input type="text" id="nick" name="habbo" size="15"><br>
Habbo:<input type="text" id="habbo" name="nick" size="15"><br>
<input type="submit" value="Recordar" id="recordar">
</form></body></html>


Ya deberíamos tener 3 casillas de texto llamadas de izquierda a derecha: user, nick y habbo.

Procederémos a crear el config.php que es al que le haremos llamado mediante el recordar.php:

Código: php

<?php
$dbhost="localhost"; //Host del mysql
$dbuser="USUARIO"; //Usuario del mysql
$dbpass="PASS"; //Password del mysql
$db="BASE DE DATOS"; //Base de datos del mysql
//Nos conectamos y seleccionamos la base de datos del mysql
mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$db");
?>


Este config.php modifiquen los datos de ingreso si no no les funcionará, procederémos a crear el recordar.php:

Primero comprobarémos el valor de las casillas de texto y le indicamos unas condicionales en dado caso que no tengan valor:
Código: php

<?php
if ($_POST['user'] == "" or $_POST['nick'] == "" or $_POST['habbo'] == ""){ // Comprobamos que las casillas de texto no tengan valor.
echo 'Te faltaron rellenar campos.';
echo "<meta http-equiv='Refresh' content='2;url=recordar.html'>"; // Si estan vacias los redireccionamos a recordar.html
}else{
include ('config.php'); // Incluimos la conexion de la base de datos
$user = $_POST['user']; // Obtenemos el valor de la casilla user
$nick = $_POST['nick']; // Obtenemos el valor de la casilla nick
$habbo = $_POST['habbo']; // Obtenemos el valor de la casilla habbo
?>


Despúes comprobamos que los valores de las casillas de texto existen en la base de datos, en la tabla users de la siguiente forma:

Código: php

<?php
$usuarios = mysql_query("SELECT * FROM users WHERE user='$user' and nick='$nick' and habbo='$habbo' ");
?>


Una vez hecho esto, comprobamos que si se llevo a cabo la petición haga el array para generar la password aleatoria:

Código: php

<?php
if($user_ok = mysql_fetch_array($usuarios)){
$aleatoria = array(1 => 'a83je05', 2 => 'dk59dj3', 3 => 'a0sk3h4', 4 => 'a03jdy7', 5 => 'a904k5t', 6 => 'sj59edh', 7 => '9dj5yas', 8 => '4fdo5ks', 9 => 'sk49dj4', 10 => 'i4k04kd');
$pass = rand(1,10);
?>


Aquí le metemos arrays a la variable aleatoria con arrays numéricos, ya que el rand solo acepta valores numéricos, por lo tanto el rand escojerá un número del 1 al 10 en este caso, y al momento de llamar al array escojerá un valor aleatorio.
Despúes, encriptarémos la contraseña  y harémos el UPDATE a la base de datos así:

Código: php

<?php
$pass_new = sha1($aleatoria[$pass]); //Encriptamos en sha1
$SQL = "UPDATE users SET pass='".$pass_new."' WHERE id='".$user_ok['id']."'"; // Hacemos el UPDATE
mysql_query($SQL);
?>


Aquí encriptamos la contraseña en sha1 y hacemos el update sustituyendo el valor del campo pass original por el de la contraseña aleatoria encriptada en sha1, $user_ok['id'] tiene el valor del ID de fila de los datos que ingresamos anteriormente, en este caso los de la casilal de texto.

Ahora harémos una carta donde tendrá la nueva contraseña así y le pondrémos los headers del formáto de envío de corre electrónico:

Código: php

<?php
$new_pass = '
MC Habbix v1.0 - Recordar contraseña.
Tu usuario es: '.$user_ok['user'].'
Su nueva contraseña es: '.$aleatoria[$pass].'

----------------------

MC Habbix v1.0 ~ Administrators.';
$asunto = "MC Habbix v1.0 ~ New Pass";
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "From: MC Habbix v1.0 <[email protected]>\n";
$headers .= "To: ".$user_ok['habbo']." <".$user_ok['mail'].">\n";
$headers .= "Reply-To: [email protected]\n";
?>


Aquí pues mostrarémos lo que sería el usuario y la nueva contraseña, si se dan cuenta la contraseña es $aleatoria[$pass], ¿Por qué? Por que aleatoria son arrays y para llamar a un array se hace de esta forma:

$aleatoria[0]
$aleatoria[1]
Etc, dependiendo cuantos valores tengan, entonces a $pass tiene la función rand que nos genera un número aleatoriamente, por lo tanto al elejir aleatoriamente y poner $aleatoria[$pass] está elijiendo un número al azar y dependiendo el número que se elija es la nueva contraseña que tendrá.

Ahora simplemente enviarémos el correo así:
Código: php

<?php
mail($user_ok['mail'],$asunto,$new_pass,$headers);
?>


En donde $user_ok['mail'] es el del usuario, el asunto es el que anteriormente escribimos en la variable $asunto, $new_pass es la carta con los datos, y $headers es el formáto de envío.

Ahora pondrémos por último unas condicionales y cerrarémos todas las llaves así:

Código: php

<?php
echo 'Se ha envíado tu nueva contraseña a tu dirección de registro.';
echo "<meta http-equiv='Refresh' content='2;url=chat.php'>";
        }else{
        echo 'Datos no encontrados.';
        echo "<meta http-equiv='Refresh' content='2;url=recordar.html'>";
            }
        }
    }
}
?>


Y esto sería todo, aquí les dejo el código final:

Código: php

<?php
if ($_POST['user'] == "" or $_POST['nick'] == "" or $_POST['habbo'] == ""){ // Comprobamos que las casillas de texto no tengan valor.
echo 'Te faltaron rellenar campos.';
echo "<meta http-equiv='Refresh' content='2;url=recordar.html'>"; // Si estan vacias los redireccionamos a recordar.html
}else{
include ('config.php'); // Incluimos la conexion de la base de datos
$user = $_POST['user']; // Obtenemos el valor de la casilla user
$nick = $_POST['nick']; // Obtenemos el valor de la casilla nick
$habbo = $_POST['habbo']; // Obtenemos el valor de la casilla habbo
$usuarios = mysql_query("SELECT * FROM users WHERE user='$user' and nick='$nick' and habbo='$habbo' "); // Checamos que los datos existan
if($user_ok = mysql_fetch_array($usuarios)){
$aleatoria = array(1 => 'a83je05', 2 => 'dk59dj3', 3 => 'a0sk3h4', 4 => 'a03jdy7', 5 => 'a904k5t', 6 => 'sj59edh', 7 => '9dj5yas', 8 => '4fdo5ks', 9 => 'sk49dj4', 10 => 'i4k04kd'); // Ponemos frases cualquiera en el array de aleatoria
$pass = rand(1,10); // Generamos un numero al azar del 1 al 10
$pass_new = sha1($aleatoria[$pass]); // Encriptamos pass en sha1
$SQL = "UPDATE users SET pass='".$pass_new."' WHERE id='".$user_ok['id']."'";
mysql_query($SQL);
$new_pass = '
MC Habbix v1.0 - Recordar contraseña.
Tu usuario es: '.$user_ok['user'].'
Su nueva contraseña es: '.$aleatoria[$pass].'

----------------------

MC Habbix v1.0 ~ Administrators.';
$asunto = "MC Habbix v1.0 ~ New Pass"; // Asunto del correo
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "From: MC Habbix v1.0 <[email protected]>\n";// Correo del remitente
$headers .= "To: ".$user_ok['habbo']." <".$user_ok['mail'].">\n"; // Correo del destinatario
$headers .= "Reply-To: [email protected]\n"; // A quien responder
mail($user_ok['mail'],$asunto,$new_pass,$headers); // Enviamos correo
echo 'Se ha envíado tu nueva contraseña a tu dirección de registro.'; // Si el correo se envio correctamente
echo "<meta http-equiv='Refresh' content='2;url=chat.php'>";
        }else{ // Si los datos no existen
        echo 'Datos no encontrados.';
        echo "<meta http-equiv='Refresh' content='2;url=recordar.html'>";
        }
       }
     }
   }
?>


Suerte, cualquier duda ó corrección haganmela saber ya que modifiqué ciertos aspectos para mostrarselos.
#48
#########################################################################

En este tutorial aprenderemos a como obtener los datos de un formulario por el metodo post, cojer los datos mediante PHP y enviarlos en un formulario agregando una redireccion. Suena complicado pero veran que despues de leer esto se les hara sumamente sencillo.

Necesitaremos simplemente un editor de texto ya sea Bloc de Notas/Note Pad, DreamWeaver, EclipsePHP, inclusive en Word.

Nosotros tendremos que crear 3 pagina web que estaran de la siguiente manera:


  • El HTML en donde estara el formulario.
  • El PHP en donde cojera los datos y los enviara por correo.
  • El HTML/PHP que mostrara que el mensaje a sido enviado correctamente.


Comenzaremos con la primer pagina, y como toda pagina HTML indicaremos con las etiquetas que se tratara de una pagina HTML, les pondre el codigo y despues les explico para evitar hacer largo el post.

formulario.html:

Código: html5
<html>
<title>Formulario.</title>
<body>
<form action="enviar.php" method="POST">
Nombre: <input type="text" name="nombre" id="nombre"><br>
Correo: <input type="text" name="correo" id="correo"><br>
Mensaje: <input type="text" name="mensaje" id="mensaje"><br>
<input type="submit" value="Enviar" id="submit"><br>
</form></body></html>


Explicacion:


  • <html> Indicamos que el codigo despues de esa etiqueta es HTML.
  • </html> Indicamos que despues de esta etiqueta no habra mas codigo HTML.
  • <title> </title> Indicamos el titulo de la pagina.
  • <form action="var"> Indicamos que al momento de darle click a el boton de enviar/submit hara un llamado a la pagina que esta entre comillas, en este caso es enviar.php.
  • <form method="POST"> Indica el metodo que utilizaremos para el formulario, en este caso utilizaremos el metodo POST aunque tambien existe el metodo GET, estos dos hacen practicamente lo mismo.
  • <input type="text" name="mensaje" id="mensaje"> Indicamos lo que utilizaremos, en este caso "text" equivale a una casilla de texto, "name" es el nombre que tendra esa casilla de texto que al pasarla a PHP se convierte en una variable, y el id seria practicamente lo mismo.
  • <br> Indica un salto de linea.
  • <input type="submit" value="Enviar" id="submit"> Indica que sera un boton para enviar con el nombre "Enviar", value sera lo que mostrara el boton, si nosotros cambiamos el value por Hola el boton saldra Hola.
  • </form></body></html> Como mencione arriba, es para cerrar las etiquetas.

Ahora procederemos a crear el archivo PHP que obtendra los valores, lo escribire y despues les explico:

Código: php
<?php
$name = $_POST['nombre'];
$mail = $_POST['mail'];
$msg = $_POST['mensaje'];
$carta = "Nombre: ".$name."<br>Correo: ".$mail."<br>Mensaje: ".$msg;
$micorreo = "[email protected]";
$asunto = "Datos del formulario de contacto";
$headers = "MINE-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: Xt3mP. <[email protected]>\r\n";
$headers .= "Reply-To: [email protected]\r\n";
mail($micorreo,$asunto,$carta,$headers);
echo "<meta http-equiv='Refresh' content='1;url=enviado.html'>";
?>



  • <?php Indicamos que se tratara de codigo PHP.
  • $name, $mail, $msg, $carta, $micorreo, $asunto, $headers Son variables con un nombre cualquiera, es como en las matematicas, tu puedes darle el valor que quieras a "X", o a "Y", o a "C", en vez de $mail puedes poner $daniel, siempre y cuando la variable no empieze con un caracter numerico.
  • El signo de = es como en las matematicas, le indica que lo que esta antes es igual a lo que esta despues me explico, x = 10 , esta indicando que X tiene un valor de 10.
  • $_POST Sirve para cojer el valor de una variable, es como para obtener el value, en este caso la variable es la casilla de texto que se encuentra entre "['CASILLA DE TEXTO']".
  • Concatenar significa unir un String/Variable/Texto Plano, lo que hacemos en la variable $carta, el string debera ir en comillas ( " " ) y para concatenar una variable requerimos a el signo de puntuacion ".". Ejemplo: "Hola, me llamo".$nombre;, un ejemplo practico seria "String".$var."String";
    En este caso concatenamos todas las variables para enviar nuestro correo, seria como una carta.
  • En la variable $micorreo le indicamos mediante un String nuestro correo que posteriormente utilizaremos.
  • En la variable $asunto le indicamos mediante un String nuestro asunto que posteriormente utilizaremos.
  • Las variables $headers indican el formato de el correo, este formato lo podran encontrar en google, ahi demasiados, este formato es para indicar que utilizaremos codigo HTML en el correo, les recomiendo cambiar lo de From: y Reply-To:.
  • La funcion mail() indica que se enviara un correo, el orden deseado es de la siguiente manera: "Mail","Asunto","Mensaje","Formato", traten de seguirlo para evitar posibles errores.
  • El comando echo imprime una linea, es por ejemplo para mostrar Hola seria echo "Hola";.
  • <meta http-equiv='Refresh' content='1;url=enviado.html'> Indicamos que haremos un redireccionamiento a la pagina que se encuentra en "URL", y el tiempo de redireccion sera el valor de "CONTENT", en este caso nos redireccionara a enviado.html en 1 segundo.
  • ?> Indica que el codigo PHP ha acabado.
  • Esto es muy importante, el signo " ; " indica el fin de una linea, si usted no pone el ; en cualquier linea (Exepto en bucles) le marcara error de sintaxis, asi que revise muy bien que despues de cada linea este el " ; ".

Por ultimo, la pagina enviado.html seria asi:

Código: html
<html>
<title>Enviado</title>
<body>
El correo ha sido enviado correctamente.<br>
<a href="formulario.html">Enviar otro correo</a>
</body>
</html>


Como usted ya debera de saber, indicamos que se trata de HTML, decimos que el correo ha sido enviado correctamente y damos la facilidad de regresar a el formulario para enviar otro correo mediante el codigo <a href="pag">texto</a>.

Espero que les sea de utilidad, cualquier duda o sugerencia haganmela saber.

Saludos.
#49
#########################################################################

En este tutorial trataré de enseñarles como encriptar una clave con varios métodos lo cuál si logran desencriptar una parte quedará todavía demasiado por desencriptar así que pues prácticamente nuestro login sería totalmente (en su mayoría) seguro.

Consistirá en 5 páginas, dos HTML (Registro y Login), 3 PHP que una sería la que llevará acabo el registro, la otra sería la conexión a la base de datos y la última sería comprobar el login.

Comenzarémos con el archivo config.php:

Código: php

<?php
$dbhost="localhost"; //Host del db
$dbuser="xt3mpme_user"; //Usuario del db
$dbpass="xt3mpme_pass"; //Password del db
$db="xt3mpme_users"; //db donde se creara la tabla users
mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$db");
//Ya explique para que sirve cada variable.
?>


Una vez hecho esto comenzarémos con el formulario de registro que se llamará registrar.html el cuál será demasiado simple para que lo tomen simplemente como referencia:

Código: html5

<form action="registrar.php" method="POST">
Usuario:<br>
<input type="text" name="user" id="user"><br>
Password:<br>
<input type="password" name="passwd" id="passwd"><br>
Repetir Password:<br>
<input type="password" name="passwd2" id="passwd2">
<input type="submit" value="Registrar" id="submit">


Una vez hecho esto, seguirémos finalmente con la encriptación la cuál en está si explicaré mas o menos lo que sería la encriptación, se llamará registrar.php:

Código: php

<?php
include('config.php');//Incluimos la conexion a la base de datos.
if (($_POST['user']== '') or ($_POST['passwd']== '') or ($_POST['passwd2']== '')){
echo "Te faltaron rellenar campos";
}else{
if($_POST['passwd'] != $_POST['passwd2']){
echo "Las contrasenas no coinciden";
}else{
$user = stripslashes($_POST["user"]);
$user = strip_tags($user);
// Quitamos las etiquetas html y lo relacionado a el usuario.
$pass = stripslashes($_POST["passwd"]);
$pass = strip_tags($pass);
// Quitamos las etiquetas html y lo relacionado a el password.
/* _____________________________________ */
// Comenzamos con la encriptacion a el estilo de Xt3mP.
$pass_encriptada1 = md5 ($pass); //Encriptacion nivel 1
$pass_encriptada2 = crc32($pass_encriptada1); //Encriptacion nivel 1
$pass_encriptada3 = crypt($pass_encriptada2, "xtemp"); //Encriptacion nivel 2
$pass_encriptada4 = sha1("xtemp".$pass_encriptada3); //Encriptacion nivel 3
// Aqui será demasiado dificil poder llegar a la password verdadera ya que por ejemplo, podrian desencriptar el md5 pero aún faltaria demasiado.
$usuarios = mysql_query("SELECT usuarios FROM cuentas WHERE usuarios='$user' ");
// Seleccionamos el campo usuarios de la tabla cuentas en donde el usuario es el que escriben en el campo user
if($usuarios2 = mysql_fetch_array($usuarios))
{
echo 'El usuario '.$user.' ya esta registrado';
mysql_free_result($usuarios);
// Liberamos la memoria
}else{
mysql_query("INSERT INTO cuentas (usuarios,pass) values ('$user','$pass')");
//Insertamos los valores de el user y pass en los campos usuarios y pass de la tabla cuentas
echo "El usuario '.$user.' ha sido registrado con éxito.';
//Decimos que el usuario ha sido registrado, etc.
}
}
}
?>


Ahora procederémos a hacer el login.html:

Código: html

<form action="logear.php" method="POST">
User:<br>
<input type="text" name="user" id="pass"><br>
Pass:<br>
<input type="password" name="pass" id="pass"><br>
<input type="submit" value="Logear" id="submit">


Creo que ya le entienden, así que haremos el logear.php:

Código: php

<?php
include('config.php'); //Incluimos la conexion a la base de datos.
if( ($_POST["user"] == '') or ($_POST["pass"] == '') )
{
echo "Necesitas introducir datos de logeo";
}else{
$user = $_POST['user'];
$pass = $_POST['pass'];
$pass_encriptada1 = md5 ($pass); //Encriptacion nivel 1
$pass_encriptada2 = crc32($pass_encriptada1); //Encriptacion nivel 1
$pass_encriptada3 = crypt($pass_encriptada2, "xtemp"); //Encriptacion nivel 2
$pass_encriptada4 = sha1("xtemp".$pass_encriptada3); //Encriptacion nivel 3
$usuarios = mysql_query("SELECT * FROM cuentas WHERE usuarios='$user' and pass='$pass_encriptada4'");
//Comprobamos que si el usuario y la pass introducidas existan
if($usuarios2 = mysql_fetch_array($usuarios))
{
//Si existen los datos introducidos registraremos dos sesiones
session_register("login");
session_register("user");
$_SESSION['login'] = "SI";//Le damos el valor SI a la sesion login.
$_SESSION['user'] = $usuarios2["usuarios"];//Le damos el valor del nombre de usuario a la sesion user.
echo '<script language="JavaScript" type="text/javascript">
alert("Bienvenido.");//Mostramos alerta de bienvenida
</script>';
echo "<meta http-equiv='Refresh' content='2;url=index.php'>";//Redirigimos a nuestro index
}else{
echo 'Username y Password incorrecto.';
}
}
}
?>


Ahora un PLUS, mostrar contenido si es que esta logeado:

Código: php

<?php
if ($_SESSION['login'] = "SI"){//Si la Sesion LOGIN es igual a SI (Se registro si nos logeamos bien)
echo "Hola: ".$_SESSION['user'];
}else{//Si la Sesion LOGIN no es si (Se registro si nos logeamos bien)
echo "Esta seccion es prohibida";
}
?>


Y eso sería todo, no es fácil ni díficil, es intermedio, los resultados de la password si ponemos xt3mp sería:

Encriptación MD5: 0fcf520c7c5f6a56b69244eeb9bfb98d
Encriptación MD5/crc32: -521765068
Encriptación MD5/crc32/Semilla: xtOtXrnGfYSMM
Encriptación MD5/crc32/Semilla/sha1: fa097e6b9dd4149f78b3e8c9917ff9eb38995da8

La base de datos realmente no sería díficil, si necesitan el código de crear base de datos por phpMyADMIN me lo hacen saber.

Saludos.
#50
Back-end / [Tutorial] De/codificar en base64 [Xt3mP]
Marzo 19, 2010, 01:18:54 AM
Esta vez aprenderémos algo sumamente sencillo que consiste en codificar/decodificar en base64 de las palabras  en inglés (encode/decode).

Usarémos simplemente un solo PHP que se llamará en este caso b64.php.

Comenzarémos, explicaré todo con comentarios.

Código: php

<html><head><title>Encode/Decode b64</title></head>
<body>
<?php
// Comenzamos con el codigo en PHP
$final = "Esperando texto..."; // Le ponemos un valor inicial a la variable final.
if (isset($_POST['cad'])){ /* Comprobamos que tenga un valor la casilla de texto obteniendo el valor de esta con la variable global "$_POST". */
$cadena = $_POST['cad']; // Le damos el valor de la casilla de texto a la variable cadena.
$cadena = strip_tags($cadena); // Le quitamos los tags como <h1> a la variable cadena.
switch ($_POST['submit']){ // Hacemos un switch para codificar ó decodificar.
               case 'cod': // Si escojen el Check Button de Codificar
               $final = "Texto codificado<br>"; // Imprimimos la línea
               $final .= base64_encode($cadena); // Imprimimos el valor ya codificado con la función base64_encode
               break; // Hacemos un break

               case 'dec':
               $final = "Texto decodificado<br>"; // Imprimimos la línea
               $final .= base64_decode($cadena); // Imprimimos el valor yade codificado con la función base64_encode
               break; // Hacemos un break
} // Cierre del switch
} // Cierre del isset
?>
<form action="" method="POST">
<input type="text" name="cad" id="cad">       <!-- Casilla de texto donde estará el código a de/codificar. -->
Codificar <input type="radio" name="submit" value="cod">      <!-- Check button para codificar. -->
Decodificar <input type="radio" name="submit" value="dec">     <!-- Check button para decodificar. -->
<input type="submit" value="Go"> <!-- Botón para procesar el formulario. -->
<br><? echo $final ?> <!-- Hacemos un salto de línea y ponemos el valor de $cad -->
</form>
</body>
</html>


Como podemos observar es sumamente sencillo ya que lo que realmente hacemos simplemente es tomar la variable y asignarle el valor de la casilla, ese código realmente es largo acomparación de uno chico como esté:

Código: php

<?php
if (isset($_POST['cad'])){
    if ($_POST['submit'] == "cod"){
        $final = "Texto Codificado<br>: ".base64_encode(strip_tags($_POST['cad']));
        }else{
         $final = "Texto decodificado<br>".base64_decode(strip_tags($_POST['cad']));   
        }
}// Cierre del isset
?>


Solo es cuestión de hechar a volar la imaginación.

Suerte.
#51
#########################################################################

Hola, qué tal? Esta ocasión les mostraré un Verificador de Dominios demasiado básico pero muy eficaz ya que no son muchas líneas de códigos como lo es WhoIS, obviamente el servidor de Who Is te puede mostrar mucha mas información pero este DomainChecker es para uso casero.

Constará de dos archivos, nuestro famoso PHP y un formulario.

El código HTML del formulario es de la siguiente forma:

Código: html5
<html><head><title>DomainChecker ~Xt3mP</title></head>
<body>
<form action="domainchecker.php" method="POST">
<input type="text" name="dominio" id="dominio>
<input type="text" name="extension" id="extension">
<input type="submit" value="Verificar"></body></html>


Explicacion:

Estamos indicando que se trata de codigo HTML, estamos poniendo dos casillas de texto llamadas dominio y extension que nosotros deberemos rellenar para poder verificar el dominio.
Con la etiqueta <form> estamos indicandole que al hacer click haga un llamado a la pagina "domainchecker.php" por el metodo post.

Ahora nuestro codigo PHP:

Código: php
<?php
// Obtendremos los valores de el formulario en caso de ponerlo en una web para que el usuario quiera checar si el dominio esta disponible o cambiar $_POST['dominio'] por el nombre de una pagina.
$nombredominio = $_POST['dominio'];
$nombreextension = $_POST['extension'];
// Concátenamos para que la variable dominio con el "." para que sea igual a nombre.dominio (antrax-labs.net[Ejemplo]):
$dominio=$nombredominio.$nombreextension;
// Declaramos para comenzar a checar el dominio, puerto, errores.
$checker = @fsockopen($dominio, 80, &$errno, &$errstr, 30);
// Si la variable checker se llevo acabo correctamente:
if($checker)
{
//Le da un valor a la variable final "Dominio No Disponible".
$final="Dominio no disponible";
}
// Si no:
else {
//Le da un valor a la variable final "Dominio Disponible".
$final="Dominio disponible";
}
//Muestra el valor de la variable "$final".
echo $final;
?>


Creo que la explicacion se las deje toda en los comentarios, espero les sirva, si lo que quieren es verificar manualmente sin llenar formulario el codigo sería asi:

Código: php

<?php
$dominio= "antrax-labs.net";
$checker = @fsockopen($dominio, 80, &$errno, &$errstr, 30);
if($checker)
{
$final="Dominio no disponible";
}
else {
$final="Dominio disponible";
}
echo $final;
?>


Saludos.
#52
#########################################################################

Esta vez les diré un tip que aprendi no hace mucho, se trata del método get. Les daré un ejemplo sencillo:

Suponiendo que tenemos 3 páginas web (Index.php , Login.php , Registrar.php) y los links para cada sección serían:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

A simple vista pues no nota tanto trabajo ya que pues son tres archivos .PHP.
Lo que nosotros aprenderémos con el tip que les daré es como en un solo .PHP poner las tres partes.

Ejemplo:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Y todo en un solo archivo .PHP.

Es sumamente sencillo, utilizarémos el método GET, les daré el código y despúes explico:

Código: php

<?php
$medio = "Escojer seccion";
if ($_GET['modo']== "index"){
$medio = "Escojiste index";
}
if ($_GET['modo']== "login"){
$medio = "Escojiste login";
}
if ($_GET['modo']== "registrar"){
$medio = "Escojiste registrar";
}
echo $medio;
?>


Indicamos que se trata de código PHP mediante las etiquetas <? y ?> (Esta última es para cerrar el código PHP).

Despúes le decimos de la manera práctica: Si modo es igual a index asignale un valor a la variable medio, si modo es igual a login asignale un valor a la variable medio, si modo es igual a registrar asignale un valor a la variable medio.

Al final mostramos el valor de la variable medio con "echo".

Asi de sencillo se evitan tener 3 archivos .PHP, y en vez de eso solo tienen 1.

Ya para entrar sería: Digamos que quieren entrar con un link, sería así:

Código: html

<a href="www.xt3mp.me/?modo=registrar">Registrate</a>.


Y así sucesivamente, si son muchas partes no usen IF usen elseif ó breake.

Sobre el otro código sería así:

Les daré un ejemplo:

Código: php

<?php
session_start();
if ($_SESSION['logeado'] != "SI"){
$status = '<form name="form1" method="post" action="?modo=login">
    <label>
    <div align="center"><span class="Estilo2">Usuario: </span>
          <input name="usuario" type="text" class="Estilo2" id="usuario" size="15">
          <br>
        <span class="Estilo2">Clave:&nbsp;&nbsp;&nbsp;&nbsp;</span>
          <input name="password" type="password" class="Estilo2" id="password" size="15">
          <br>
          <input name="Submit" type="submit" class="Estilo2" value="Entrar" target="_blank">
      <br>
        </div>
    </label>
    <div align="center"><span class="Estilo2"><a href="?modo=login&proceso=recordar">Recordar clave</a>. <a href="?modo=registrar">Registrar</a>.     </span>           </div>
  </form>';
}else{
$status = "<span class='Estilo2'>Hola " . $_SESSION['nick'] ."<br><a href='?modo=salir'>Salir</a></span>";
}
?>
<html>
<head>
<title>You Can't Hack Me !</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/style.css" rel="stylesheet" type="text/css" /><style type="text/css">
<!--
body {
background-image: url();
background-color: #000000;
}
.Estilo10 {color: #66FF00}
-->
</style></head>
<?
$medio = '<table width="534" height="294" border="0" align="center">
          <tr>
            <td height="21" colspan="2" class="Estilo1">~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</td>
          </tr>
          <tr>
            <td width="139" height="21"><div align="left"><span class="Estilo1">Apertura No-Oficial:</span></div></td>
            <td width="385" class="Estilo2"><div align="left">Como todos sabran, este es un proyecto que recien esta tomando </div></td>
          </tr>
          <tr>
            <td height="21" colspan="2" class="Estilo2"><div align="left">rumbo, todavia faltan terminar ciertos scripts, entre otras cosas, actualmente no estan </div></td>
          </tr>
          <tr>
            <td height="21" colspan="2" class="Estilo2"><div align="left">disponibles los WarGames ya que nos estamos concentrando en lo que es el registro, etc. </div></td>
          </tr>
          <tr>
            <td height="14" colspan="2" class="Estilo2">Mientras tanto te invitamos a que pases por nuestra comunidad de Hacking Latina haciendo</td>
          </tr>
          <tr>
            <td height="21" colspan="2" class="Estilo2"><div align="left">click aqui -------------&gt;:<a href="http://www.hack.cl" target="_blank">[url=http://www.Hack.cl]www.Hack.cl[/url] Mas que una comunidad. </a></div></td>
          </tr>
          <tr>
            <td height="21" class="Estilo2">&nbsp;</td>
            <td class="Estilo2"><div align="right"><span class="Estilo3">Fecha: Enero/28/2010 </span></div></td>
          </tr>
          <tr>
            <td height="21" colspan="2" class="Estilo2"><div align="right" class="Estilo3"><span class="Estilo1">~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</span></div></td>
          </tr>
          <tr>
            <td height="21" class="Estilo2">&nbsp;</td>
            <td class="Estilo2">&nbsp;</td>
          </tr>
          <tr>
            <td height="21">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="21">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="21">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="21">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
        </table>';
if ($_GET['modo']=="registrar"){
session_start();
if ($_SESSION['logeado'] != "SI"){
  $medio = '<form id="form1" name="form1" method="post" action="?modo=registrar2&proceso=comprobando"><table width="500" border="0" align="center">
            <tr>
              <td width="245" class="Estilo2"><div align="right"><span class="Estilo3">*</span>Nickname:</div></td>
              <td width="245"><label>
                <input name="nick" type="text" class="Estilo2" id="nick" size="15">
              </label></td>
            </tr>
            <tr>
              <td class="Estilo2"><div align="right"><span class="Estilo3">*</span>Usuario:</div></td>
              <td><input name="user" type="text" class="Estilo2" id="user" size="15"></td>
            </tr>
            <tr>
              <td class="Estilo2"><div align="right"><span class="Estilo3">*</span>Clave:</div></td>
              <td><input name="passwd" type="password" class="Estilo2" id="passwd" size="15"></td>
            </tr>
            <tr>
              <td height="21" class="Estilo2"><div align="right"><span class="Estilo3">*</span>Repetir Clave: </div></td>
              <td><input name="passwd2" type="password" class="Estilo2" id="passwd2" size="15" /></td>
            </tr>
            <tr>
              <td height="19" class="Estilo2"><label>
                <div align="right"><span class="Estilo3">*</span>Correo:</div></td>
              <td height="19" class="Estilo2"><input name="mail" type="text" class="Estilo2" id="mail" size="15" /></td>
            </tr>
            <tr>
              <td height="21" class="Estilo2"><div align="right"><span class="Estilo3"></span>Pais:</div></td>
              <td height="21" class="Estilo2"><label>
                <select name="country" id="country">
                  <option selected>Mexico</option>
                  <option>Argentina</option>
                  <option>Espa&ntilde;a</option>
                  <option>Chile</option>
                  <option>Panama</option>
                  <option>Colombia</option>
                  <option>Venezuela</option>
                  <option>Estados Unidos</option>
                  <option>Peru</option>
                  <option>Otro</option>
                </select>
              </label></td>
            </tr>
            <tr>
              <td height="21" class="Estilo2"><div align="right"><span class="Estilo3"></span>Pagina Web:</div></td>
              <td height="21" class="Estilo2"><input name="web" type="text" class="Estilo2" id="web" size="15" /></td>
            </tr>
            <tr>
              <td height="21" class="Estilo2"><div align="right"><span class="Estilo3"></span>Edad:</div></td>
              <td height="21" class="Estilo2"><select name="age" id="select">
                <option>12</option>
                <option>13</option>
                <option>14</option>
                <option>15</option>
                <option>16</option>
                <option>17</option>
                <option> 18</option>
                            </select></td>
            </tr>
            <tr>
              <td height="21" class="Estilo2"><div align="right"><span class="Estilo3">*</span>Referido:</div></td>
              <td height="21" class="Estilo2"><input name="refer" type="text" class="Estilo2" id="refer" size="15" /></td>
            </tr>
            <tr>
              <td height="21" colspan="2" class="Estilo2"><div align="center">
                <input name="Submit" type="submit" class="Estilo2" value="Registrar" />
              </div></td>
            </tr>
           
          </table>
</form>';

}else{
$status = "<span class='Estilo2'>Hola " . $_SESSION['nick'] ."<br><a href='logout.php'>Salir</a></span>";
echo '<script language="JavaScript" type="text/javascript">
alert("Actualmente estas logeado por lo tanto no podras registrarte.");
</script>';
echo "<meta http-equiv='Refresh' content='2;url=index.php'>";
$medio = "<span class='Estilo3'>Estas actualmente logeado, por lo tanto no podras registrarte.</span>";
}
}

if ($_GET['modo']=="registrar2" && $_GET['proceso']=="comprobando"){
include('config.php');
if ($_SESSION['logeado'] != "SI"){
$country = $_POST['country'];
$age = $_POST['age'];
if(($_POST['nick'] == '') or ($_POST['user'] == '') or ($_POST['passwd'] == '') or ($_POST['mail'] == '' ) or ($_POST['refer'] == '') )
{
$medio = "<span class='Estilo3'>Te faltaron rellenar campos.</span>";
echo "<meta http-equiv='Refresh' content='2;url=?modo=registrar'>";
}else{
if($_POST['passwd'] != $_POST['passwd2'])
{
$medio = '<span class="Estilo3">La claves no coinciden.</span>';
echo "<meta http-equiv='Refresh' content='2;url=?modo=registrar'>";
}else{
$nick = stripslashes($_POST["nick"]);
$nick = strip_tags($nick);
$user = stripslashes($_POST["user"]);
$user = strip_tags($user);
$pass = stripslashes($_POST["passwd"]);
$pass = strip_tags($pass);
$passs = md5 ($pass);
$passss = crc32($passs);
$pass = crypt($passss, "xtemp");
$usuarios = mysql_query("SELECT user FROM cuentas WHERE user='$user' ");
if($user_ok = mysql_fetch_array($usuarios))
{
$medio = '<span class="Estilo3">El usuario '.$user.' ya esta registrado</span>';
echo "<meta http-equiv='Refresh' content='2;url=?modo=registrar'>";
mysql_free_result($usuarios);
}else{
$mail = $_POST["mail"];
$pais = $_POST['country'];
$web = $_POST['web'];
$web = strip_tags($web);
$age = $_POST['age'];
$refer = $_POST['refer'];

if (($refer == $nick) or ($refer == $user)){
$medio = '<span class="Estilo3">No te puedes poner como referido.</span>';
echo "<meta http-equiv='Refresh' content='2;url=?modo=registrar'>";
}else{
$refer = strip_tags($refer);
mysql_query("INSERT INTO users (nick,user,pass,email,country,web,age,refer) values ('$nick','$user','$pass','$mail','$pais','$web','$age','$refer')");
$medio = '<span class="Estilo3">El usuario '.$user.' ha sido registrado con éxito, en unos momentos sera redireccionado.</span>';
echo "<meta http-equiv='Refresh' content='3;url=index.php'>";
}
}
}
}
}else{
$status = "<span class='Estilo2'>Hola " . $_SESSION['nick'] ."<br><a href='logout.php'>Salir</a></span>";
echo '<script language="JavaScript" type="text/javascript">
alert("Actualmente estas logeado por lo tanto no podras registrarte.");
</script>';
$medio = "<span class='Estilo3'>Estas actualmente logeado, por lo tanto no podras registrarte.</span>";
echo "<meta http-equiv='Refresh' content='2;url=index.php'>";
}
}

if ($_GET['modo']=="donar"){
$medio = '<center><span class="Estilo3">El fin de sus donaciones no es con ningun fin de lucro si no<br>que gracias a ustedes este WarGame sera muy grande.<br>Tambien el dinero recolectado se usara para el mantenimiento del host y del dominio.</span><br><br><br><form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="F94V7UWAB8ZHG">
<input type="hidden" name="lc" value="MX">
<input type="hidden" name="button_subtype" value="products">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="bn" value="PP-BuyNowBF:btn_paynow_SM.gif:NonHosted">
<table>
<tr><td><input type="hidden" name="on0" value="Donar"><span class="Estilo3">Donar</span></td></tr><tr><td><select name="os0">
<option value="1 Dolar">1 Dolar $1.00</option>
<option value="2 Dolares">2 Dolares $2.00</option>
<option value="5 Dolares">5 Dolares $5.00</option>
</select> </td></tr>
</table>
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="option_select0" value="1 Dolar">
<input type="hidden" name="option_amount0" value="1.00">
<input type="hidden" name="option_select1" value="2 Dolares">
<input type="hidden" name="option_amount1" value="2.00">
<input type="hidden" name="option_select2" value="5 Dolares">
<input type="hidden" name="option_amount2" value="5.00">
<input type="hidden" name="option_index" value="0">
<input type="image" src="https://www.paypal.com/es_XC/i/btn/btn_paynow_SM.gif" border="0" name="submit" alt="PayPal. La forma rápida y segura de pagar en Internet.">
<img alt="" border="0" src="https://www.paypal.com/es_XC/i/scr/pixel.gif" width="1" height="1">
</form></center>
';
}
if ($_GET['modo']=="salir"){
session_start();
session_destroy();
$medio = "<span class='Estilo3'>Te has desconectado correctamente.</span>";
$status = '<form name="form1" method="post" action="comprobando_login.php">
    <label>
    <div align="center"><span class="Estilo2">Usuario: </span>
          <input name="usuario" type="text" class="Estilo2" id="usuario" size="15">
          <br>
        <span class="Estilo2">Clave:&nbsp;&nbsp;&nbsp;&nbsp;</span>
          <input name="password" type="password" class="Estilo2" id="password" size="15">
          <br>
          <input name="Submit" type="submit" class="Estilo2" value="Entrar" target="_blank">
      <br>
        </div>
    </label>
    <div align="center"><span class="Estilo2"><a href="recordar.php">Recordar clave</a>. <a href="registrar.php">Registrar</a>.     </span>           </div>
  </form>';
}

if($_GET['modo']=="wargames"){
include('wargames.php');
}
if($_GET['modo']=="login"){
include('config.php');
if( ($_POST["usuario"] == '') or ($_POST["password"] == '') )
{
$medio = "<span class='Estilo7'>Necesitas introducir tus datos.</span>";
}else{
$user = $_POST['usuario'];
$passs = $_POST['password'];
$passss = md5 ($passs);
$passsss = crc32($passss);
$pass = crypt($passsss,"xtemp");
$usuarios = mysql_query("SELECT * FROM users WHERE user='$user' and pass='$pass'");
if($user_ok = mysql_fetch_array($usuarios))
{
session_register("logeado");
session_register("nick");
session_register("user");
$_SESSION['logeado'] = "SI";
$_SESSION['nick'] = $user_ok["nick"];
$_SESSION['user'] = $user_ok["user"];
$usuario = $_SESSION['nick'];
echo '<script language="JavaScript" type="text/javascript">
alert("Bienvenido, en unos momentos seras redirigido.");
</script>';
echo "<meta http-equiv='Refresh' content='2;url=index.php'>";
}else{
$medio = '<span class="Estilo7">Username y Password incorrecto.</span>';
}
}
}
?>


Un código mas práctico:

Código: php

<?php
$medio = "Selecciona seccion";
if ($_GET['parte']=="nosotros"){
$medio = "Nosotros somos una nueva comunidad de Hack que pretende ensenar a los demas";
}
if ($_GET['parte']=="contacto"){
$medio = "Agregame a [email protected] para aclarar sus dudas";
}
if ($_GET['parte']=="foro"){
$medio = "Ve a [url=http://www.antrax-labs.net]www.antrax-labs.net[/url] para ver el foro";
}
echo $medio
?>

Espero que les sirva para simplificar todo, asi solo tienen un solo un archivo .PHP.

Saludos.
#53
#########################################################################

En este tutorial aprenderemos a como pedir una contraseña para mostrar el contenido mediante el lenguaje de programacion PHP, utilizaremos el metodo POST y una de las condiciones de PHP, el famoso "If" en español significa "Si...".

Ejemplo: Si tienes 18 años puedes pasar, Si no no puedes entrar.

Necesitaremos un editor de texto, esta vez solo utilizaremos dos paginas, un HTML con el formulario y un PHP para comprobar.

Antes de seguir te recomiendo dar click No tienes permitido ver los links. Registrarse o Entrar a mi cuenta para que entiendas mas sobre estas etiquetas.

El codigo de entrar.html sera asi (Primero lo escribo y despues lo explico):

Código: html5
<html>
<title>Identificacion</title>
<body>
<form action="entrar.php" method="POST">
<input type="text" name="pass" id="pass"><br>
<input type="submit" name="submit" value="Entrar">
</form>
</html>



  • Como ya sabran, indicamos que se trata de codigo HTML mediante las etiquetas <html> y </html>
  • Con el comando <input type="text" name="pass" id="pass"> le indicamos que sera una casilla de texto con el nombre pass y el id pass.
  • Con el comando <input type="submit" name="submit" value="Entrar"> le indicamos que sera un boton que enviara los datos a determinada pagina y que mostrara el texto "Entrar".
  • Con el <form action="entrar.php method="POST"> le indicamos que hara un llamado a la pagina "entrar.php" cuando den click en el boton y enviara los datos por el metodo "POST".


Ahora nuestro entrar.php sera de la siguiente forma:

Código: php
<?php
$clave = $_POST['pass'];
if ($clave == "test"){
echo "Logeado correctamente";
}else{
echo "La clave es incorrecta";
}
?>



  • Como ya debemos de saber, con las etiquetas <?php y ?> indicamos que dentro de estas etiquetas sera codigo PHP.
  • Aqui nuestra variable se llama "clave", pero puede ser $loquesea y le estamos indicando el valor de la casilla de texto de entrar.html, que la obtenemos con el comando $_POST['casilla_de_texto'] = $_POST['pass'].
  • Aqui nuestra condicion if funciona de la siguiente manera, un ejemplo practico es: if (Condicion){Que pasa si la condicion se cumple}si no{Que pasa si la condicion no se cumple}; por lo tanto seria asi:
    Si la variable $clave es "IGUAL" a "test" te mostrara el mensaje "Logeado correctamente", si no te mostrara el mensaje "La clave es incorrecta.
  • Cabe mencionar que ahi una gran diferencia entre el signo "=" y el doble signo "==", ya que el signo "=" le asigna un valor a determinada variable y el doble signo "==" hace una comparacion.


Y pues asi de sencillo es todo, solo cambien "test" por la clave que quieran pedir y listo.

P.D. Recuerden poner el signo " ; " despues de cada linea para evitar error de sintaxis.

Saludos.