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ú

Mensajes - @XSStringManolo

#921
Los bucles while son más rápidos que los for en prácticamente todos los lengujes (en javascript no porque hacen cosas raras con los engine)

while --n:

Al llegar a 0 para solo porque equivale a false, no tienes que declarar ni iterar i ni comprobar el condicional de i con n.

Si buscas performance usa asyncio, multithread, controla instancias programáticamente o algo así. Testea y compara.
#922
Nivel Web / Re: Hackear un sitio WIX
14 Enero 2020, 07:56 AM
Cita de: engel lex en 14 Enero 2020, 07:29 AM
toma en cuenta que son noticias de vulnerabilidades pasadas, seguramente estan parchadas actualmente, wix como cualquier empresa medianamente decente se encarga de mantenerse al dia con sus cosas... así que te toca experimentar y correr tus propias pruabas a ver que puedes conseguir... si consigues algo, mejor que usarlo para "hackear una pagina" lo puedes vender a ellos mismos en su sistema de bug bounty, y hacer unos cientos de dolares con ello
O en el black market por algo más. No pagan nada las empresas. Te dan menos de 10k por vulns que literalmente les cuestan millones. Qué una empresa como facebook no te de mucho es razonable debido a que los usarios se autohackean en masa con cadenas. Pero las empresas de cobros, tiendas, infrastructuras de pago... xDDD
#923
Siempre que publiques código en el foro utiliza las etiquetas Geshi del lenguaje de programación correspondiente para que se vean los colores.

    Consideraciones:
    • Es recomendable identar el código y comentarlo. No solo para facilitar su lectura a otros programadores, también para mejorar el SEO y su posicionamiento.

    • El atributo type no es necesario para css o js ni aporta nada.

    • Es recomendable quitar absolutamente todo el código css y js a archivos externos.

    • var suma= valor1 + valor2; Estás asignando a una variable el resultado de sumar dos variables declaradas que aún no tienen un valor definido.

    • Te sobra una etiqueta de apertura body al inicio.

    • Es recomendable utilizar dobles comillas para html y javascript y comillas simples para css.

    • Es recomendable hacer funciones puras (reusables y no dependientes) en vez de funciones que solo sirvan para sumar unas variables determinadas de tu programa.

    • Todas las variables de tu función son innecesarias.

    • Te recomiendo identar (dar 2 espacios en el cuerpo de cada expresión en javascript) y lo mismo para html y css.

    • Te recomiendo añadir un form si vas a añadir inputs. Tanto por semántica como por css, trabajar programáticamente, etc.

    • Tienes texto que quieres que vea el usuario en el head del html. El head es para información y código que no va a tener representación visual directa. Asique ese <h3></h3> y su innerHTML hay que posicionarlo dentro de las etiquetas body. El buenas parece más de pedir una caña en un bar que de un programa xD.

    • Un <button onclick="sumar()" >resultado</button> Te recomiendo substotuirlo por <button type="button">Resultado</button> para que no te de comportamientos indeseados.

    • Todos los onclick deberían ir en un documento externo y ser remplazados por un addEventListener("click", function(){ Codigo a ejecutar } );

    • No veo nada con id="r" asique no sé que ibas a hacer aquí: document.getElementById('r').true;

    • No se que tienes en el css, pero no hace falta que le pongas class a cada elemento para aplicarle estilos a todos. A menos que sea exactamente lo que quieres hacer.
      En css se usa: p para etiqueta, .p para clase, #p para id.

    • No hace falta que uses nombres raros para no repetir. No creas conflictos usando las mismas palabras en un id, class, name, etc.

    • Te recomiendo añadir en tus scripts el string "use strict"; ya que entre otras cosas en algunos navegadores si cometes ciertos errores(no todos), te sale un alert diciéndotelo.

    • Las funciones pueden retornar un resultado. Si retornas el resultado de la suma, te permite utilizar la llamada a la función en un confirm, asignar el resultado a una variable, como parámetro para otra función, o en lo que tu quieras, en vez de solo ser útil en un alert (a menos que solo quieras que se use en un alert y nada más.).

    • El operador + hace varias cosas. Para asegurarte que sume y no que concatene/una/junte los números, tienes que asegurarte que lo que se le pasa como parámetros son números. Puedes usar un par de parseInt() dentro de la función sumar aplicados a cada parámetro para transformar el texto a numeros antes de la suma. También es conveniente usar input type="number" que es lo más lógico si solo aceptas números para sumar. Y estaría bien también añadir un required en caso de hacer una petición http/submit de un form o un value="0" en caso de js puro para tener un valor por defecto por si no se completa el campo por error.

    • También puedes añadir el atributo placeholder para dar una pista de que valor poner.

    • Te añadí un viewport para que se adapte automáticamente la página a la pantalla. A parte puedes usar el viewport como medida para el css. vw (view width) y vh (view heigth).

    • Te añadi un poco de css de ejemplo y un button reset porque queda bien con el tipo de programa xD.

Código (html4strict) [Seleccionar]
<!DOCTYPE html>
<html lang="es-ES">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width, heigth=device-heigth, target-densitydpi=device-dpi">
    <title>Suma básica</title>
    <link href="sumasimple.css" rel="stylesheet">
  </head>
  <body>
    <h3>Ingrese 2 números para realizar una simple suma.</h3>
    <form>
      <p>Valor numérico 1:</p>
      <input type="number" name="valor1" value="0" placeholder="primer sumando" required>
      <p>Valor numérico 2:</p>
      <input type="number" name="valor2" value="0" placeholder="segundo sumando" required>
      <button type="button">Resultado</button>
      <button type="reset">Borrar</button>
    </form>
    <script src="suma.js"></script>
  </body>
</html>



Código (css) [Seleccionar]
body {
  background-color: #f10;
}

h3, p {
  text-align: center;
}

form {
  border: 2vw solid #fff;
}

input[type=number] {
  width: 88vw;
  display: inline-block;
  border: 1vh solid #aaa;
  box-sizing: border-box;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

button[type=button]
{
  -webkit-transition-duration: 0.5s; /* Safari */
  transition-duration: 0.5s;
  width: 35vw;
  border: 1vh solid #aaa;
  box-sizing: border-box;
  display: block;
  margin-left: auto;
  margin-right: auto;
  background-color: #333;
  color: white;
}

button[type=button]:hover {
  background-color: #fff;
  color: #777;
}

button[type=reset] {
  -webkit-transition-duration: 0.5s; /* Safari */
  transition-duration: 0.5s;
  border: 1vh solid #aaa;
  box-sizing: border-box;
  background-color: #333;
  color: white;
}



Código (javascript) [Seleccionar]
"use strict";

function Sumar(valor1, valor2) {
  return parseInt(valor1) + parseInt(valor2);
}

document.getElementsByTagName("button")[0].addEventListener("click", function(){ alert("El resultado de la suma es: " + Sumar( document.getElementsByName("valor1")[0].value , document.getElementsByName("valor2")[0].value));});


  • La función Sumar convierte ambos parámetros a números y retorna la suma a su llamada.

  • En el resto del código:
    - Se obtiene el botón del código html:
    boton = document.getElementsByTagName("button")[0];

  • La función getElementsByTagName te retorna todos los botones de tu código HTML. En este caso queremos el primer botón que aparece en el HTML. Que en este caso también es el único botón. Entonces es necesario usar el operador array con índice 0, que es el primer elemento del contenedor.


  • A boton se le agrega un listener de eventos, y una función que se ejecute cuando suceda ese evento.

boton.addEventListener( "click", Sumar(valor1, valor2); );

Esto es equivalente al onclick="Sumar(valor1, valor2)"

  • Para que no se ejecute directamente la función en la declaración, y para poder agregar más expresiones, la llamada de a función Sumar la metemos dentro de un función anónima. function(){}

boton.addEventListener( "click", function(){ Sumar(valor1, valor2); } );


  • Añadimos un alert para mostrar la respuesta de sumar.

boton.addEventListener("click", function(){ alert(" Resultado = " + Sumar(valor1, valor2);) } );

  • Por último obtenemos los valores de los input number.
valor1 = document.getElementsByName("valor1")[0].value;

valor2 = document.getElementsByName("valor2")[0].value;

En vez de guardar todo en variables, lo que hice fue juntar todo directamente en una sola línea.

#924
Cita de: kub0x en 13 Enero 2020, 23:37 PM
Si mi edad quieres saber, sistemas de ecuaciones has de resolver.

La mitad de mi edad actual mas el triple de la mitad de mi edad es igual a 52.
Es más, una treceava parte de mi edad actual más cinco veces la mitad de mi edad es igual a 67.

Saludos.
Tu edad es la mitad del doble.
#925
Cita de: simorg en 13 Enero 2020, 14:53 PM
Jajajaja, pues yo en Febrero cumpliré 72 y suelo levantarme a las 11 o las 12 , me voy a dormir sobre la 3 o las 4 de la madrugada y me encanta la carne, las verduras son para los conejos.... :xD :xD :xD

@Wolf BCN y yo somos los "abuelitos" del Staff. :)

Saludos.
Quien llegara allá! Firmaba ahora mismo xD
#926
26 y llevo la vida de alguien de 70 xD
#927
Cita de: MiguelCanellas en 13 Enero 2020, 06:41 AM
Estuve viendo, (ya lo deje como estaba para no hacer macanas) parece un ataque similar a un ataque ddos, no?
Te lo dice en la primera frase del link xD
Cita de: wikipediaSlowloris is a type of denial of service attack tool
Denial of Service. (DoS). Un DDoS es un ataque DoS distribuido(desde varias fuentes). El ataque que te linkea abre múltiples conexiones a la vez, y como tu servidor las mantiene abiertas, ocupa el máximo de conexiones simulataneas que puede atender tu servidor. Cuando un usuario legítimo de tu aplicación intenta conectarse a tu servidor, este no puede abrir una conexión porque el atacante ya tiene abiertas el máximo posible.
#928
Programación General / Re: Iconos en png
13 Enero 2020, 02:05 AM
Ten cuidado con el copyrigth. Por mucho que ponga gratis, si no te vienen las descargas con una licencia DEL AUTOR estás infringuiendo las normas de copyrigth. Si necesitas algunas que no encuentres, te las hago yo de 0 en 5 mins. Me pasas el nombre del programa que vas a usar y te hago una licencia para que las uses en tu programa.

Por cierto puedes definir shapes usando el lenguaje XML directamente. En tengo algun rectángulo en XML con esquinas redondeadas, borde, transparencias, etc. Chequea los archivos de Panther en mi github. Te sirve para hacer flechas o lo que quieras.
#929
Como te dice engel, en el php.ini tienes el max_exec_time que por defecto tiene de valor 30. Que son los segundos máximos de duración de ejecución de PHP. Puedes cambiarlo. Normalmente se usa para cerrar instancias de PHP que quedaron abiertas por error, o para tener un límite para mejorar el rendimiento.

A parte de esto, también el servidor puede tener un tiempo máximo asignado para dejar una conexión abierta. En algunos paquetes de software apache viene preconfigurado a 15 máximos por conexión. Siempre enocado a rendimiento.

Como también te comenta Engel Lex, si no es una tarea intensiva, no es normal que se tarde más de 30 segundos en tareas comunes enfocadas a la web.
#930
Cita de: W17CH3R en 12 Enero 2020, 20:47 PM
Si yo fuera el jefe, lo haría sin problemas, pero me tengo que acatarme a las normas de la empresa, ya que no es una empresa dedicada a la ciberseguridad (ya me gustaría  :xD) si no una tienda de informática especializada en equipos gaming en la que estoy de practicas.

Pero en cuando pueda pillarme un portatil, ya que solo tengo de sobremesa obviamente le meto SO Linux porque después de probar varias distros la que más se asemeja a lo que me gusta es BlackArch.

Te recomiendo arch strike y le bajas el paquete de blackarch