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


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ... 74
361  Programación / Desarrollo Web / Re: [Pregunta]: Ejecutar función después de que se termine de completar otra (JS) en: 5 Diciembre 2019, 21:02 pm
Es posible que puedas resolver tu problema usando Promesas:

https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Global_Objects/Promise

Por ejemplo:


Código:
function Change_Select_Ubication(parametro) {
  return new Promise((resolve, reject) => {
    $.ajax('https://httpbin.org/get')
    .then(() => {
      console.log(parametro);
      resolve(100);
    })
  });
};

Change_Select_Ubication('Primero')
.then(
  function () {
    Change_Select_Ubication('Segundo');
  }
);

Basicamente lo que haces es que en tu función regresas una Promise, es un objeto que te permite esperar hasta que llamas la función "resolve" y al llamar esta función le estás diciendo "Ya terminé, con éxito". A esta promesa le puedes encadenar llamadas "then()" que se ejecutan solamente cuando la promesa finaliza con éxito.


¡Hola!

¿Para que sirve "https://httpbin.org/get"?  adentro hay

Código
  1. {
  2.  "args": {},
  3.  "headers": {
  4.    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
  5.    "Accept-Encoding": "gzip, deflate, br",
  6.    "Accept-Language": "es-419,es;q=0.9",
  7.    "Host": "httpbin.org",
  8.    "Sec-Fetch-Mode": "navigate",
  9.    "Sec-Fetch-Site": "none",
  10.    "Upgrade-Insecure-Requests": "1",
  11.    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
  12.  },
  13.  "origin": "181.224.191.126, 181.224.191.126",
  14.  "url": "https://httpbin.org/get"
  15. }
  16.  

¿Para que serviría esto? Cuando me desocupe voy a probar el código que me pasaste y te digo... Muchas gracias!
362  Programación / Desarrollo Web / Re: [Pregunta]: Detectar cambió en un input en especifico (JS) en: 4 Diciembre 2019, 17:04 pm
O.O WOAO lo acabo de hacer me leiste la mente jaja

Código
  1.            if($('input[name=input_email]').is(e.target))
  2.            {
  3.                alert('input_email');
  4.            }
  5.            else if($('input[name=input_password]').is(e.target))
  6.            {
  7.                alert('input_password');
  8.            }
  9.  

¡Muchas gracias a los dos!
363  Programación / PHP / Re: [Pregunta]: Contar saltos de lineas de una cadena (PHP) en: 4 Diciembre 2019, 16:14 pm
Le haces substr_count a $cadena y el string lo tienes en $string. Es lógico que $newlines sea 0...

Saludos!

Esto pasa cuando te levantas a las 8 de la mañana para programar, gracias! me olvide de cambiar la variable.!

Gracias a los dos.
364  Programación / PHP / Re: [Pregunta]: Contar saltos de lineas de una cadena (PHP) en: 4 Diciembre 2019, 15:52 pm

¡Hola!

No me estaría funcionando... me estaría devolviendo = 0

Código
  1. <?php
  2. $string = '• Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod.'."\r\n".'• Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod.'."\r\n".'• Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod.';
  3.  
  4. $newlines = substr_count($cadena, "\n");
  5. echo nl2br($string);
  6. echo 'Saltos de lineas: '.$newlines;
  7. ?>
  8.  

¡Gracias!
365  Programación / Desarrollo Web / Re: [Pregunta]: Anti-CSRF 2.0 (Dilema) en: 4 Diciembre 2019, 15:47 pm
Gracias!

Si, igual es un muy buen sistema el Anti-CSRF que me pasaste ahora lo voy a mejorar un poco más.
366  Programación / PHP / [Pregunta]: Contar saltos de lineas de una cadena (PHP) en: 4 Diciembre 2019, 14:36 pm
Buenos días,

¿Como puedo contar la cantidad de saltos de lineas que tiene una cadena en PHP? ¿Hay alguna función que tenga PHP para hacer esto?
367  Programación / Desarrollo Web / Re: [Pregunta]: Anti-CSRF 2.0 (Dilema) en: 4 Diciembre 2019, 14:18 pm
Lo que podrías hacer es no invalidar el token si el usuario vuelve a abrir el formulario (no reescribir el token si ya hay una entrada) y simplemente reusar el token anterior. De forma que en lugar de tener un token por sesión tienes un token único por sesión por cada formulario.

¡Tenes razón!
¿Como se me pasó? jaja GRACIAS ya lo hago!  ;-) ;-) ;-) ;-)
368  Programación / Desarrollo Web / [Pregunta]: Detectar cambió en un input en especifico (JS) en: 4 Diciembre 2019, 14:15 pm
Buenos días,

tengo un formulario ("id_form") en el cual tengo 2 inputs uno que tiene name="username" y name="pass"

Código
  1.        $('#id_form').on('change',function() // detecto si se produjo un cambio en el formulario entero
  2.        {
  3.            if(id_form.input_username.onchange) // quiero que si el cambio se produjo en el input username
  4.            {
  5.                alert('1');
  6.            }
  7.            else if(id_form.input_pass.onchange) // quiero que si el cambio se produjo en el input pass
  8.            {
  9.                alert('2');
  10.            }
  11.        });
  12.  

Como esta el código no da errores pero tampoco sirve, no hace nada.
Probé de otras maneras pero tampoco me servían porque me daban errores, quiero hacerlo de esta manera para no tener que estar poniendo una id="" a cada campo o un onchange, es muy tedioso y prefiero hacerlo así...
369  Programación / Desarrollo Web / [Pregunta]: Anti-CSRF 2.0 (Dilema) en: 4 Diciembre 2019, 13:30 pm
Buenos días,

hasta día de hoy mi protección para ataques CSRF es generar un token de seguridad o aleatorio para cada formulario, es decir si yo entro a la pagina login, efectivamente me va a generar un token con el nombre del formulario, "token_csrf_form_login" quedando así $_SESSION['token_csrf_form_login"] después si entro a el formulario de registro $_SESSION['token_csrf_form_registry'] cada una de estas sessiones va a tener un token diferente pero hay un problema con este método y es que si la persona esta con dos formularios iguales a la misma vez se va a generar un problema...

[Page A (Registry)] [Page B (Registry)]

Primero va a generar un tocken para form_registry, después cuando vuelva a abrir el mismo formulario desde otra ventana o pestaña va a volver a generar el token y va a dejar obsoleto el anterior, por lo que el formulario que se abrió primero quedará inoperable, va a terminar dando un error para la primera pestaña o ventana que haya.. cargado el formulario antes.

Buscando por ahí varias formas de crear token se sigue un patrón (es material del 2011 a el 2014) generar el token una vez que el usuario se logea.

[Usuario inicia sesión]
[Genera tocken anti CSRF] => $_SESSION['token_csrf'] = [Dato aleatorio];
y todos los formularios u otros métodos que requieran este tipo de seguridad van a compartir el mismo token (por lo menos hasta que el usuario se desconecte, ahí ya se destruyen todas las sessiones).

¿Qué opinan de esto? ¿Se inclinan por la opción A u opción B?
370  Programación / Desarrollo Web / Re: [Pregunta]: ¿Qué significa esta alerta? en: 4 Diciembre 2019, 06:16 am
Necesitas combiar un poco de paradigma de programacion, yo antes tambien tenia problemas con esa parte de javascript.

Te recomiendo el siguiente link que a mi me sirvio mucho, muchisimo para entender las "Promises" y como aplicarlas en mi codigo.

https://scotch.io/tutorials/javascript-promises-for-dummies

Espero que a ti tambien te funcione.

Saludos!

Recien lo termine de ver, te agradezco... igualmente no me queda todavía en claro como puedo aplicarlo...

Buscando por ahí encontré lo siguiente aunque tampoco me funciona, ¿será que estoy cerca de entender o cada vez estoy más lejos?

Código
  1. $.when(Change_Select_Ubication('select_country')).then(function()
  2.            {
  3.                var select_province = document.getElementById('select_province');
  4.                var op_province = select_province.getElementsByTagName('option');
  5.                op_province[<?php echo($_POST['select_province']); ?>].selected = true;
  6.  
  7.                $.when(Change_Select_Ubication('select_province')).then(function()
  8.                {
  9.                    var select_municipality = document.getElementById('select_municipality');
  10.                    var op_municipality = select_municipality.getElementsByTagName('option');
  11.                    op_municipality[<?php echo($_POST['select_municipality']); ?>].selected = true;
  12.  
  13.                    $.when(Change_Select_Ubication('select_municipality')).then(function()
  14.                    {
  15.                        var select_city = document.getElementById('select_city');
  16.                        var op_city = select_city.getElementsByTagName('option');
  17.                        op_city[<?php echo($_POST['select_city']); ?>].selected = true;
  18.                    });
  19.                });
  20.            });
  21.  
Páginas: 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ... 74
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines