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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 73
1  Programación / Desarrollo Web / [Pregunta]: Problemas con variables e intervalos. en: 28 Julio 2022, 23:00 pm
Hola,

básicamente tengo una variable global SEGUNDOS iniciada en cero y además tengo 2 intervalos donde se va a ir incrementando esto cada 1 segundo a +1.

Yo quiero que para cada intervalo la modificación tome lugar en ese Intervalo y no fuera de ese código, solamente en ese scope y no se vea afectado en otros intervalos.
Código
  1. var segundos = 0; // variable global
  2.  
  3. // intervalo A
  4. setInterval(function()
  5. {
  6. segundos = segundos + 1;
  7. document.write(segundos);
  8. }, 1000);
  9.  
  10. // intervalo B
  11. setInterval(function()
  12. {
  13. segundos = segundos + 1;
  14. document.write(segundos);
  15. }, 1000);
  16.  
2  Programación / Desarrollo Web / [Pregunta]: Impedir que una $_SESSION en particular se destruya en: 21 Junio 2022, 17:40 pm
Hola, básicamente tengo una $_SESSION['x'] que no quiero que se destruya cuando el usuario cierre la sesión.

Código
  1. session_destroy(); // después, cuando use session_start(); luego de haber usado session_destroy(); $_SESSION['x'] ya no existirá y no quiero que pase eso.
  2.  

Gracias.
3  Programación / Desarrollo Web / [Pregunta]: PHPMailer lento en: 20 Junio 2022, 02:57 am
Hola,

¿Es normal que tarde tanto en enviar un mail? Aveces lo envía y otras veces directamente me da un error porque la petición supera los 20 segundos.

¿PHPMailer ya de por sí es así de lento?
4  Programación / Desarrollo Web / [Pregunta]: Expresión regular para formato serial "12345-ABCDE-12345" en: 13 Junio 2022, 18:23 pm
Hola, estoy teniendo problemas con una expresión regular donde se reemplazarán los valores con vacío donde no cumpla el formato de un serial.
"12345-ABCDE-12345" Es decir, 5 números seguidos de un guión medio seguidos de 6 letras mayúsculas de la A a la Z, nuevamente un guión medio y otros 5 numeros.

Código
  1. $('#form_verify_email').on('keyup', function(e)
  2. {
  3.       if($('input[name=input_code_email]').is(e.target))
  4.       {
  5.              form_verify_email.input_code_email.value = String(form_verify_email.input_code_email.value.substring(0, 5)).replace(/[^0-9]+/g, '');
  6.              form_verify_email.input_code_email.value = (form_verify_email.input_code_email.value)+String(form_verify_email.input_code_email.value.substring(5, 6)).replace(/[^-]+/g, '');
  7.              form_verify_email.input_code_email.value = (form_verify_email.input_code_email.value)+String(form_verify_email.input_code_email.value.substring(6, 11)).replace(/[^A-Z]+/g, '');
  8.              form_verify_email.input_code_email.value = (form_verify_email.input_code_email.value)+String(form_verify_email.input_code_email.value.substring(11, 12)).replace(/[^-]+/g, '');
  9.              form_verify_email.input_code_email.value = (form_verify_email.input_code_email.value)+String(form_verify_email.input_code_email.value.substring(12, 17)).replace(/[^0-9]+/g, '');
  10.        }
  11. });
  12.  

De momento tengo esto, pero no entiendo ya que va bien hasta los primeros 5 números pero después aunque ponga guión medio no me lo toma y me lo quita.
5  Programación / Desarrollo Web / Re: Error del reloj en: 11 Junio 2022, 22:56 pm
La fecha que devuelven las funciones de PHP no es la de la fecha de tu PC. Es la fecha del servidor que ejecuta PHP (que puede o no ser tu PC). Si lo alojas en un servidor en Taiwan que tenga configurado el timezone de Taiwan, mostrara fecha de Taiwan.

El timezone en las funciones date no es inútil. De hecho, es muy útil porque puede trabajar con diferentes zonas en software que requiera de ello. Lo que tendría menos sentido es que coja la fecha del usuario/navegador, que puede decir cualquier cosa y toca creerlo.

Lo recomendable siempre es que el servidor maneje fechas en UTC o  GMT +0 y luego esas fechas se presenten al cliente adaptado a su zona horaria.


Lo ideal es no fiarse de la hora/fecha del usuario. A no ser que tengas una necesidad muy específica, lo suyo es no fiarse ni recoger el dato siquiera. Si aun así necesitas hacer una verificación (y confias en lo que el usuario te diga), puedes recoger la fecha/hora UTC del usuario con javascript y luego comparar la UTC que tenga tu servidor:


fecha.php
Código
  1. <?php
  2. function validateDate(int $dateUser): bool
  3. {
  4.    // Margen de error en segundos.
  5.    // La consulta ajax puede tardar varios segundos en ejecutarse. Asegurate de tener un margen.
  6.    $dateMargin = 120;
  7.  
  8.    // Si el valor absoluto de la diferencia entre Timestamp de usuario y servidor
  9.    // es superior al margen, no es una fecha valida y devolvemos false.
  10.    return (abs(time() - $dateUser) <= $dateMargin);
  11. }
  12.  
  13. if (!empty($_POST['localTime'])) {
  14.    // recogemos localTime y lo comparamos con respuesta en formato JSON
  15.    $status = validateDate((int) $_POST['localTime']);
  16.    echo json_encode(array('status' => $status));
  17.    exit;
  18. }


fecha.js
Código
  1. async function testDate() {
  2.    try {
  3.        // Creamos un formData para pasarselo a PHP
  4.        // Con parametro localTime que es = la fecha UTC acutal en Unix Timestamp.
  5.        const formData = new FormData();
  6.        formData.append('localTime', Math.floor(Date.now() / 1000));
  7.  
  8.        const request   = await fetch('fecha.php', {
  9.            method: 'POST',
  10.            body: formData
  11.        });
  12.        response = await request.json();
  13.  
  14.        // Si el status es falso, la fecha no es valida.
  15.        if (!response.status) {
  16.            alert('Fecha local no valida');
  17.            return false;
  18.        }
  19.  
  20.        alert('Fecha local valida');
  21.        return true;
  22.    } catch(err) {
  23.        // Si occure algun durante el proceso...
  24.        alert('No se ha podido sincronizar la fecha');
  25.        console.log(err);
  26.    }
  27. }
  28.  
  29. testDate();


PD: Aquí asumimos que la fecha del servidor esta bien y esta sincronizada. Lo cual no tiene porque ser siempre la verdad. En tal caso, en vez de recoger la fecha del servidor, puedes recoge la de otro servidor NTP del que te fíes tal y como te ha mostrado el compañero @MCKsys Argentina.


Saludos

La fecha que devuelven las funciones de PHP no es la de la fecha de tu PC. Es la fecha del servidor que ejecuta PHP

Era eso, estaba en local  :silbar:
Gracias!
6  Programación / Desarrollo Web / Re: Error del reloj en: 10 Junio 2022, 18:25 pm
Hola, tal como comentas PHP va a tomar y devolver la fecha y hora de tu PC aunque esta sea incorrecta.
Los navegadores te dan ese aviso de error de certificado porque no coincide la fecha del certificado con la de tú PC.

La mejor forma de lograr lo que deseas, es decir que PHP te devuelva la fecha y hora actual/correcta, es que utilices alguna página web en la que haciendo una petición GET te devuelva por ejemplo la fecha y hora en formato json, por supuesto que el sitio web te va a devolver posiblemente un horario distinto al tuyo debido a las distintas horas de los países y el sitio web toma la zona horaria del servidor en donde está alojado, y en ese caso, tendrías que ajustar la hora a la correcta de tu país.


Saludos

Me recomendarían alguna API o algo, estoy perdido...
7  Programación / Desarrollo Web / Error del reloj en: 10 Junio 2022, 17:04 pm
Hola, estaba viendo que si uno tiene en la computadora una fecha incorrecta a la actual todos los time() que son ejecutados en PHP me va a devolver la fecha de mi computadora y no la que realmente es. Lo que no sabía.

Esto me traería algunos problemas pero también veo que los navegadores muestran una alerta al usuario donde se le dice que no puede acceder porque la fecha de su equipo es incorrecta (NET::ERR_CERT_DATE_INVALID).

La pregunta es: ¿No hay alguna solución en la que yo como programador pueda validar si esa fecha es la correcta o no? ¿Es seguro confiar en sólo en esa alerta de los navegadores?

EDIT: Es raro porque entonces
Código
  1. date_default_timezone_set('America/Argentina/Buenos_Aires'); // server time
  2.  

Esta declaración es la más inútil que hay entonces...
8  Programación / Desarrollo Web / [Pregunta]: Google Recaptcha en: 25 Abril 2022, 03:46 am
Hola!

Tengo un buscador de usuarios, ¿es necesario usar google recaptcha en este formulario? Hago la pregunta porque en este caso no se va a estar creando un registro en la base de datos, no es como un formulario para registrar usuarios sino de busqueda.
9  Programación / Desarrollo Web / [Pregunta]: Pasar false, true y null (javascript) a PHP usando AJAX en: 10 Enero 2022, 18:31 pm
Básicamente tengo una variable de javascript que tendrá como valor true, false o null... la cual es enviada por ajax a un archivo php donde yo quiero que se recupere el valor true, false o null porque actualmente lo que me pasa es que me está convirtiendo el true, el false o el null en una cadena en el lado del servidor (php)

Me quedaría:

javascript (AJAX)
var x => true

PHP (Archivo ajax php)
$x => 'true'

¿Alguna idea? Podría hacerlo con una función que diga si es una cadena y es igual a true, false, o null se le reemplace la cadena por el valor... en vez de 'true' se ponga = true;
Pero estoy buscando algo mucho más dinámico, seguramente hay una función pensada para esto...









10  Programación / Desarrollo Web / [Pregunta]: ¿Meta descripción va en todos mis html? en: 1 Enero 2022, 19:51 pm
No estoy seguro si esta es la sección pero es "Desarrollo web" creo...
Quería saber si la meta description solamente tendría que ir en el archivo index o tiene que ir en todos mis html, sería lo mismo la meta keywords...
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 73
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines