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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 35
41  Programación / Bases de Datos / [Pregunta]: ¿Cómo eliminar "registros descendientes" en una consulta SQL? en: 25 Mayo 2021, 00:11 am
Hola!
Básicamente estoy escribiendo una consulta donde va a eliminar registros que ya son muy antiguos pero estoy teniendo problemas para que además elimine otros registros (están en otras tablas) que están relacionados de alguna manera.

Hice este dibujo para que me entiendan mejor:


Sino me pude dar a entender lo puedo volver a explicar, es un poco engorroso..
42  Programación / PHP / [Pregunta]: Consultas periódicas a una base de datos con PHP. en: 23 Mayo 2021, 02:00 am
Hola,

No sabía donde era mejor este tema, si en la sección base de datos o en esta sección de PHP.
Estoy no teniendo problemas pero sí dudas, hasta ahora todo este sistema funciona excelente. Lo que me permite hacer es lo siguiente, desbloquear usuarios que fueron bloqueados de forma temporal hasta x fecha, marcar como desconectados usuarios que ya no hicieron acciones en la aplicación por un periodo de x minutos, eliminar algunos registros de x tabla que ya son demasiado viejos, etc.

Mi función para marcar como desconectados a usuarios que no hicieron acciones por x periodo de minutos por lo que se los considera desconectados:
Código
  1. static function Marcar_Desconectados()
  2. {
  3. $unix_grace = strtotime('-x minutes', time());
  4. $con = Conectar_BD(nombre_usuario, contrasena);
  5. $query = $con->prepare('UPDATE users SET connected = 0 WHERE connected = 1 AND :unix_grace >= unix_activity');
  6. $query->bindValue(':unix_grace', $unix_grace, PDO::PARAM_INT);
  7. $query->execute();
  8. }
  9.  

Cada vez que se realice una petición al servidor, se envía un formulario, se carga una página (por ejemplo se ingresa a index.php), se ejecuta un código php con ajax, etc.. se va a ejecutar la funcion..

Código
  1. x::Marcar_Desconectados();
  2.  

Realmente no sé si es óptimo considerando muchos usuarios en esta aplicación web. Aunque si eventualmente no hay usuarios que marcar como desconectados, no hay registros viejos que eliminar, no hay usuarios bloqueados temporalmente que desbloquear, es decir ejecutaría estas consultas pero no modificaría nada ni haría ninguna accion DELETE, UPDATE, etcétera.

Aunque estaría haciendo las consultas igual, por eso no estoy seguro.
43  Programación / Desarrollo Web / [Pregunta]: Optimizar tabla notificaciones. en: 21 Mayo 2021, 03:47 am
Básicamente tengo una tabla en mi base de datos que almacenará todas las notificaciones que pudiera llegar a tener cada usuario.
Se me ocurrió una idea para optimizar esta tabla en específico que sería que al llegar a las 1.000 notificaciones ya no pueda seguir almacenando más por lo menos para ese usuario.

Quiero decir, tengo 1.000 notificaciones y cuando se agregue una nueva notificación se va a eliminar la más vieja. Seguiremos con 1.000 notificaciones, independientemente si estén vistas o no.

Personalmente me parece un poco exagerado 1.000 registros, yo haría 300 o 150. ¿Qué opinan?
44  Programación / Desarrollo Web / [Pregunta]: ¿Cómo saber si es un ENTERO o FLOTANTE en PHP? en: 12 Mayo 2021, 22:39 pm
Es algo trivial pero estoy teniendo problemas, no encuentro una función para saber si es ENTERO o FLOTANTE un número.
Estuve viendo pero no la encuentro, ya sé que existe is_int e is_float pero quiero que sea como is_numeric.

Quiero decir, is_numeric si le das como valor '3500' (cadena pero con numero dentro) devolverá true pero si pongo is_float('3500.78') esto me va a dar false porque no interpreta el numero que está en la cadena. Lo mismo pasa si fuera is_int('3500').

Pasa que como ya sabrán todo los datos que envía un formulario los devuelve en cadena.
¿No hay una función para eso?

EDIT:
Se me ocurrió algo "cutre" por así decirlo, y es que podría preguntar si dicha cadena tiene punto y si tiene punto quiere decir que en principio es un decimal entonces uso floatval('x');

IS_NUMERIC(x)
      TIENE_PUNTO(x)
             FLOATVAL(x)
      NO TIENE PUNTO
             INTVAL(x)

Por ahora tengo esto.
45  Programación / PHP / [Pregunta]: ¿Qué estoy haciendo mal con esta consulta PDO? en: 4 Mayo 2021, 00:21 am
Estoy mejorando todas mis consultas, antes usaba este método:

Código anterior (siempre use esto y funciona correctamente), como "dato curioso" en esta consulta sino concateno '.($by).' no me devuelve datos, es decir que no puedo usar :by en la consulta. No entiendo por qué (si me pudieran ayudar con eso también)
Código
  1. $con = Connection(USERNAME, PASSWORD);
  2. $query = $con->prepare('SELECT id_album FROM albums WHERE '.($by).' = :by_value');
  3. $query->execute(array(':by_value' => $by_value));
  4. $results = $query->fetchAll();
  5.  

Pero viendo un poco parece ser que hacerlo de la siguiente manera es más eficiente y seguro:
Pero me dice "Uncaught Error: Call to a member function bindParam() on bool" busqué el error pero veo ninguna relación con lo que escribí, lo ví varias veces pero parece que todo está correcto.
Código
  1. $con = Connection(USERNAME, PASSWORD);
  2. $query = $con->prepare('SELECT id_album FROM albums WHERE :by = :by_value');
  3. $query = $con->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
  4. $query->bindParam(':by', $by);
  5. $query->bindParam(':by_value', $by_value);
  6. $query->execute();
  7. $results = $query->fetchAll();
  8.  
46  Programación / Bases de Datos / [Pregunta]: ¿Cómo hacer esta consulta 2? en: 23 Abril 2021, 00:07 am
Hola,

bueno la anterior consulta ya la hace correctamente ahora tengo problemas con esta otra que es muy similar. Para este caso ya no va a eliminar las tentativas de un usuario si este llego a 6 sino que las va a eliminar si son 1 o 5 tentativas pero las eliminará si la fecha (unix) de creación tiene una antiguedad de 12 horas o más. (pero solo se evalua la más reciente)

Es decir, como son los unix no son mas que numeros enteros lo que hago para evaluar la mas reciente y ver si tiene esa antiguedad de 12 horas es tomar dentro de todos los registros/tentativas del usuario el unix mas grande.

Es decir:
Código
  1. $query = $con->prepare('DELETE FROM attempts WHERE id_user IN (SELECT A.id_user, MAX(A.unix_date) FROM attempts A INNER JOIN users U ON A.id_user = U.id_user WHERE (:unix_grace_delete_attempts >= MAX(A.unix_date)) AND U.login_banned = 0 GROUP BY A.id_user HAVING COUNT(*) >= 1 AND COUNT(*) <= 5');
  2. $query->execute(array(':unix_grace_delete_attempts' => $unix_grace_delete_attempts));
  3.  

Siempre uso BETWEEN en vez de hacer COUNT(*) >= 1 AND COUNT(*) <= 5 pero mientras mas simple de entender la consulta mejor para todos.

En relación a sobre qué es $unix_grace_delete_attempts lo que le estoy haciendo es restarle a el unix actual unas 12 horas.

Código
  1. $unix_now = time();
  2. $unix_grace_delete_attempts = strtotime('-12 hours', $unix_now);
  3.  
47  Programación / Bases de Datos / [Pregunta]: ¿Cómo puedo hacer esta consulta? en: 21 Abril 2021, 19:58 pm
Hola,

tengo una tabla 'attempts' donde guardará todas las tentativas erróneas de login de los usuarios,  como máximo pueden llegar a tener 6 tentativas.

Ejemplo:
Código
  1. * ID_USER IP
  2. 1. 37  ::1
  3. 2. 37  ::1
  4. 3. 37  ::1
  5. 4. 37  ::1
  6. 5. 37  ::1
  7. 6. 37  ::1
  8. 7. 79  225.341.63
  9.  

Básicamente tenemos 6 tentativas del usuario 37 y una tentativa en la cuenta del usuario 79 (id_user de attempt ya está relacionado con el id_user de users)

Hecho eso ahora necesito que por medio de una consulta eliminar todas las tentativas a uno de estos usuarios si llega a tener 6.

Código
  1. "DELETE FROM attempts WHERE [Aquellos usuarios que tengan = 6 tentativas]"
  2.  
48  Programación / PHP / [Pregunta]: Modificar la variable original en PHP en: 30 Marzo 2021, 18:44 pm
Hola,

tengo 2 archivos PHP donde en el primer archivo tengo definida una función:
Código
  1. function myFunction($variable)
  2. {
  3.      $variable = 3;
  4. }
  5.  



En mi segundo archivo PHP tengo definida $variable (no es un parámetro como antes), y una llamada a myFunction()
Código
  1. $variable = 7;
  2. myFunction($variable); // entonces le mando por parámetro la variable a la que le quiero modificar el valor
  3.  

Entiendo que con return en la función y $variable = myFunction($variable); asunto arreglado pero necesito hacerlo de esta forma (si es que se puede).

Capaz usando global $variable o algo así, se pueda hacer algo...
49  Programación / Desarrollo Web / [Pregunta]: ¿Existe un script (JS) para eliminar los datos en la memoria caché? en: 22 Marzo 2021, 04:14 am
La idea es saber si hay disponible algún script que al ser ejecutado elimine todos los datos de la memoria caché o al menos aquella información almacenada sobre mi aplicación web como imágenes por ejemplo.

El objetivo de encontrar este script es que cada vez que yo mejoro mi código, agrego cosas, edito cosas (como imágenes por ejemplo) estas se vean reflejadas sin que el usuario tenga que darle al "CTRL + F5".

Ya tengo un sistema de versiones donde yo para agregar una versión completo un formulario, donde escribo el título (v1.0.0), y luego las mejoras correspondiente a dicha versión.

Con el script (si es que existe) + este sistema que ya tengo, creo que puedo armarme algo para esto.
50  Programación / Desarrollo Web / [Pregunta]: Formato de imágenes "image/webp" en: 5 Marzo 2021, 05:22 am
Hola,

bueno estaba viendo que existe este formato para las imágenes además de los tradicionales ya conocidos como jpg (o jpeg), y png (sé que hay otros pero estos son los más comunes) el tema es que quiero que a partir de ahora mi aplicación acepte imágenes webp pero tengo una duda y es que no estoy seguro si las imágenes webp también existen imágenes sin fondo como lo son las de png.

Es decir, como es un formato nuevo para mi no se si dentro del formato webp puede venir una imagen sin fondo como lo sería una de .png

(( Yo valido siempre antes el mimetype de las imágenes )).

En la aplicación se permiten en lo posible todas las imágenes mientras que no sean png (sin fondo),

- image/jpg
- image/jpeg
- image/webp

no sé cual más debería incluir...
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 35
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines