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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 [575] 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 ... 768
5741  Programación / Desarrollo Web / [Snippets] javascript / CSS / HTML5 en: 18 Marzo 2013, 17:22 pm
He pensado que estaría interesante crear un post parecido a "Pequeños Trucos en PHP" o "Librería de Snippets !! (Posteen aquí sus snippets)" pero orientado a javascript y CSS. Se trata de pegar funciones o "código" que facilite la tarea y que nadie tenga que reinventar la rueda xD.

Indicad por favor a que "lenguaje" pertenece: [javascript] - [CSS] - [HTML5] y en caso de usar alguna librería (como jQuery) debéis indicarla también. Ejemplo:
[javascript] [jQuery] - Hacer que tu pantalla te de una hostia.

Por supuesto el código debe ir entre sus respectivas etiquetas: [code=javascript][/code], [code=css][/code], [code=html4strict][/code].

Como es de costumbre en cualquier post de este tipo.. el autor de este empieza primero así que:

[javascript] - Validar usuario,contraseña y correo.

Esto es una función que valida (mediante regex) si el input cumple con el objetivo (type).

Para "usr" se requiere de un nombre sin espacios, de un mínimo de 4 caracteres y un máximo de 12. No permite ningún carácter que no sea A-Z o 0-9. Tampoco permite letras del tipo ñ ç o acentos (á,ó,é etc.).

Para "pwd" se requiere de una contraseña con un mínimo de 6 caracteres (no tiene máximo). Requiere al menos una letra minúscula, una mayúscula y un numero. Aunque acepte caracteres como la ñ o ç (acentos incluidos), no los toma en cuenta a la hora de validar las minúsculas y mayúsculas.

Para "mail" se requiere de un correo con las siguientes características: Puede contener letras(A-Z), numeros(0-9), punto(.), barra baja(_), porcentaje(%), mas(+) y menos(-).  Necesita 1 arroba(@). El nombre de dominio (aaa.com ) debe ser de al menos 2 letras y la extensión de al menos 2 y un máximo de 5.

Devuelve, TRUE en caso de que cumpla y FALSE en caso de que no. No diferencia entre mayusculas y minusculas excepto para "pwd".

Código
  1. var dm_validate = function(input,type){
  2.   switch(type){
  3.      case "usr":
  4.         regex = /^[a-z0-9]{4,12}$/i;
  5.         break;
  6.      case "pwd":
  7.         regex = /(?=.*)(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{6}/;
  8.         break;
  9.      case "mail":
  10.         regex = /^[A-Z0-9._%+-]+@[A-Z0-9\.\-]{2,}\.[A-Z]{2,5}$/i;
  11.         break;
  12.   }
  13.   if(input.match(regex)){return true;}else{return false;}
  14. };

Uso
Código
  1. dm_validate("drvy","usr");


[javascript] - Generador de contraseña.

Esta función la uso con la anterior pero la pongo separada por si acaso. Se trata de una función que genera una contraseña del tamaño que hayas indicado y a partir de los caracteres indicados en la variable "possible". Acepta plenght que es el tamaño (numero de caracteres) de la contraseña... si no se indica asume el numero 10. Hace un while hasta que la contraseña cumpla con el regex indicado (el mismo que el de dm_validate). Devuelve la contraseña generada.


Código
  1. var dm_pwdgenerator = function(plenght){
  2.   if(plenght===undefined){plenght = 10;}
  3.   var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789:!,.;$/()=-_';
  4.   var text='';
  5.   while (text.match(/(?=.*)(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{6}/)===null){
  6.      text = '';
  7.      for(i=0;i<plenght;i++){
  8.         text += possible.charAt(Math.floor(Math.random() * possible.length));
  9.      }
  10.   }
  11.   return text;
  12. };

En mi caso, en vez de hacer text.match(...)===null, simplemente llamo a dm_validate:
Código
  1. while (dm_validate(text,'pwd')!==true){

Uso
Código
  1. console.log(dm_pwdgenerator(6)); // Escribe en la consola, una contraseña de 6 caracteres


[javascript] [jQuery] - Tooltips.

Esta función me costo un buen tiempo y una buena quemada de cabeza xD. Genera un tooltip (el típico cuadradito que te dice cosas xD). A diferencia de los millones de plugins para jquery que he visto, esta función elimina su rastro y NO deja ***** en el DOM. Acepta 3 parámetros:
   target_items = Los objetos donde aparecerá.. (deben llevar el atributo title).
   css = La clase css del tooltip
   garbage_collect = Elimina cualquier rastro tanto del tooltip generado como de anteriores. Usar si se llama a la función mas de 1 vez.

Código
  1. var dmToolTip2 = function(target_items,css,garbagecollect){
  2. initialized=undefined;
  3. oldtitle=undefined;
  4. $(target_items).on('mouseover', function(event){
  5. if(initialized===undefined && $(this).attr('dmtooltip2')===undefined){
  6. newid = 'dmToolTip2';
  7. element = $(this);
  8. if(element.attr('title')===undefined){return false;}
  9. element.attr('dmtooltiptitle',element.attr('title'));
  10. element.attr('dmtooltip2','set');
  11. } else {return false;}
  12. $('body').append('<div class="'+css+'" id="'+newid+'"><p>'+element.attr('dmtooltiptitle')+'</p></div>');
  13. my_tooltip = $('#'+newid);
  14. my_tooltip.css({display:"none"}).fadeIn(400);
  15. element.removeAttr('title');
  16. })
  17. .on("mouseout", function(event){
  18. initialized = undefined;
  19. element.removeAttr('dmtooltip2');
  20. element.attr('title',element.attr('dmtooltiptitle'));
  21. element.removeAttr('dmtooltiptitle');
  22. if(garbagecollect===true){$("[id*=dmToolTip2]").remove();} else {$("#"+newid).remove();}
  23. })
  24. .on("mousemove",function(kmouse){
  25. var border_top = $(window).scrollTop();
  26. var border_right = $(window).width();
  27. var left_pos; var top_pos; var offset = 20;
  28. if(border_right - (offset *2) >= my_tooltip.width() + kmouse.pageX){left_pos = kmouse.pageX+offset;}
  29. else {left_pos = border_right-my_tooltip.width()-offset;}
  30. if(border_top + (offset *2)>= kmouse.pageY - my_tooltip.height()){top_pos = border_top +offset;}
  31. else {top_pos = kmouse.pageY-my_tooltip.height()-offset;}
  32. my_tooltip.css({left:left_pos,top:top_pos});
  33. });
  34. };

Css del tooltip. Lo mas importante es que la clase lleve POSITION:ABSOLUTE; para que se pueda mover sobre el elemento. Lo demás es cosa de gustos =)
Código
  1. .maintip {max-width:300px; min-width:100px; padding:3px; margin:0px 0px 0px -20px; font-size:16px; color:#FFF; border-radius:7px 7px 7px 0px; position:absolute; background:#CACACA; z-index:999; left:-9999px; font-family:"Segoe UI",Arial, Helvetica, sans-serif;}
  2. .maintip p {background:#222; color:#FFF; text-shadow:#000 0px 0px 5px; border-radius:3px; padding:3px; letter-spacing:1px; position:relative; margin:0px;}

Ejemplo de uso:
Código
  1. dmToolTip2("#midiv a","maintip");
Código
  1.   <div id="midiv">
  2.      <a href="www.google.com" title="¿Porque te quieres ir?">Ir a Google</a>
  3.   </div>
  4. </body>
  5.  

Recuerden usarlo cuando el DOM esta cargado por completo.


Espero/amos vuestros snippets =)

Saludos
5742  Foros Generales / Noticias / Re: Motivos para elegir una tableta en lugar de un ordenador en: 18 Marzo 2013, 14:17 pm
NO NO y NO.

No me compares un telefono movil grande con un ordenador. No digas que un ordenador significa un portatil, porque también los hay de sobremesa. No puedes comparar una tablet con un ordenador ¬¬

Citar
Autonomía
Por normal general, la batería de las tabletas dura más que la de los portátiles. Estas baterías pueden llegar a aguantar un día entero de uso, algo impensable en un portátil. Si solo encendemos la tableta cuando necesitamos utilizarla, el tiempo de autonomía de la batería puede llegar sin problemas a los dos días.

Claro, lo mismo pasa con un portatil. Si solo le enciendes cuando lo necesitas... puedes pasarte 3 años con una carga no te jode.

Citar
Encendido rápido
Uno de los avances más importantes de las tabletas es el reducido tiempo que necesitan para salir del reposo. Si las comparamos con los portátiles, solo encontramos algo parecido en los MacBook de Apple, aunque no tiene nada que ver con la velocidad de las tabletas.

Para empezar, no es lo mismo salir de reposo, que encendido rapido. Y aun así:

Tardan mas que un Pentium 4 con Windows Vista. No hablar de que si le pones un i5 y un SSD tardara como 4-5 segundos en arrancar (entero). Y mas aun: No compares un sistema operativo que pesa 10 Gigas con un sistema operativo que no llega ni a los 2.

Citar
Potencia

Es cierto que la potencia no es uno de los fuertes de las tabletas, pero la mayor parte de los usuarios no suele necesitar un equipo de altas prestaciones. Para navegar por Internet, consultar las redes sociales más populares y ver algún vídeo de YouTube nos bastará con una tableta. Si hablamos del mundo de los juegos, aún es pronto para que las tabletas sustituyan a los ordenadores y las consolas, pero están avanzando en la dirección correcta.

Eh ? No estan avanzando en la direccion correcta. Estan avanzando en otra direccion totalmente distinta. Los juegos de tablets y/o smartphones se centan en el uso de sus sensores (movimiento,luz,gps) en cambio los de portatiles y/o sobremesa se centran en el teclado y el raton. Cuando vea BF3, FarCry3 o COD MW3 correr en una tablet.. me callo.

Las demás comparaciones son absurdas pues están a favor de las tablets.. precisamente por eso existen los tablets..

Saludos
5743  Foros Generales / Noticias / Re: El 86 por ciento de las vulnerabilidades provienen de programas que no son de... en: 18 Marzo 2013, 14:05 pm
¿ Que es esto ? Una empresa fan de Microsoft ? xD

Citar
Según un nuevo estudio de la empresa de seguridad Secunia, el número de programas que tienen alguna vulnerabilidad y que no están desarrollados por Microsoft ha aumentando

Emmm, no hace falta hacer un estudio y tener conocimientos "espaciales" para dar se cuenta de ello. Sin ir mas lejos, Microsoft es una empresa que desarrolla software. Habrá como 99999999999^10101001 empresas que compiten y/o desarrollan software.

Es imposible por mucho que lo intentes que esas 99999999999^10101001 empresas no tengan mas vulnerabilidades en sus software que una sola.

Saludos
5744  Programación / PHP / Re: Problema con variable de sesion y variable de conexion en: 18 Marzo 2013, 13:49 pm
En la documentación de PHP puedes ver que los recursos (resource ID) y algunos objetos no pueden ser serializados y por tanto no se pueden guardar en sesiones. Mysql y Mysqli cumplen con eso y sus resources/objects no pueden ser guardados.

http://www.php.net/manual/es/intro.session.php

Si usas POO puedes guardar $conexion en una variable del Class y así la puedes solicitar en cualquier función(del class). Si usas scripting normal, puedes hacerla global.

Saludos
5745  Programación / Desarrollo Web / Re: pagina se me recorre a la derecha en: 18 Marzo 2013, 12:18 pm
Hola,

Código
  1. view-source:http://paxomnis.com/projects/ninoschispix/

Tienes el código muy mal estructurado. Abres y cierras etiquetas HTML.. tienes <script> duplicados. Abres un <script> por cada función...

Normalmente, en una pagina html, solo puede haber 1 etiqueta HTML. Osease, si la abres, no la cierras hasta el final de la pagina.
Puedes abrir 1 etiqueta script, y meter cuantas funciones quieras dentro. No hace falta abrir 1 etiqueta por cada función.

Organiza un poco el html ... así a primera vista es lo que falla.

PD: Al parecer solo pasa en Chrome. Firefox y IE cumplen bien. Aunque en IE la pagina esta mal centrada.

Saludos
5746  Programación / Desarrollo Web / Re: bbcode, etiquetas html en: 18 Marzo 2013, 11:39 am
Hola,

En PHP tienes:
Código
  1. $texto = htmlentities($texto, ENT_QUOTES);

PD: El ENT_QUOTES es para que convierta también las comillas simples.

Saludos
5747  Programación / Desarrollo Web / Re: Ayuda Package-info Modificacion de un Mod Smf en: 17 Marzo 2013, 17:50 pm
No se que pasa que últimamente ni dios se explica bien. Habéis pasado de describir el problema a poner una imagen y dejar la adivinanza a los demás usuarios... aquí lo de "1 imagen vale mas que mil palabras" no tiene crédito..

Básicamente lo que se ve en la imagen (los recuadros) es:

1 - Versión del MOD.
2 - Versión de SMF en la que se podría instalar el MOD.
3 - Versión de SMF en la que se podría desinstalar el MOD.

Sin embargo ten cuidado. Si el mod esta hecho para una versión vieja de SMF igual te cargas el foro entero. SMF tiene una pésima implementación en cuanto a instalación/utilización de mods se refiere. Igual lo que funciona en la 2.x.1 no funciona en la 2.x.2


Saludos
5748  Foros Generales / Foro Libre / Re: Cuantos Hackers conocéis (personalmente o por internet) en: 17 Marzo 2013, 02:54 am
Yo conozco a este

http://www.youtube.com/watch?v=PtbG92kX66I

PD: Recuerden... el no es hacker... el es "hacker hacker hacker" :silbar:

Saludos
 
 
5749  Programación / Desarrollo Web / Re: Seguridad de PHP en: 17 Marzo 2013, 02:42 am
Generalmente no tiene porque. Normalmente en un servidor casero, Apache escucha únicamente en la IP 127.0.0.1:80 o lo que es lo mismo.. tu maquina en el puerto 80.

Por supuesto, puedes configurarlo para que sea accesible desde todas las IPs... pero by default no deberías tener ningún problema. De todos modos, si practicas con poner el servidor accesible y programas en PHP aplicaciones inseguras... quizás algún curioso te pueda meter una shell xD Asi que asegurate de preocuparte de la seguridad de tus scritps =)

PD: También puedes mirar en el http.conf para poner las reglas order allow,deny.

Saludos
5750  Media / Juegos y Consolas / Re: ¿Que juegos os gustaria que hiciesen una segunda parte y/o remake? en: 16 Marzo 2013, 17:22 pm
Me gustaría ver una tercera parte de Mafia. Cuando lo jugué me quede con la boca abierta y no quería que terminase. Creo que ya lo están desarrollando para PS4 y xbox pero me gustaría jugarlo en PC. Aparte, True Crime NY también tuvo lo suyo... y con la tecnología actual (en cuanto a juegos se refiere).. creo que podrían hacer una segunda parte bastante interesante.

Saludos
Páginas: 1 ... 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 [575] 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 ... 768
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines