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 - WHK

#311
No, no es normal, debe ser un problema de tu sito web, tu código o quien sabe que. Será que la acción lo tienes puesto dentro de un evento del mouse?, si subes tu proyecto a github talves podriamos tener mas claro cual pueda ser el problema.

Saludos.
#312
Y cuando necesites modificar la base de datos las modificarás una por una? te asegurarás que todos los cambios queden iguales en todas las bases de datos? usarás migraciones de cambios?, harás respaldos por separado uno por uno? , separarás los accesos?, vas a tener que multiplicar tus esfuerzos cada ves que quieras hacer algo sobre la base de datos y organizarlas.
#313
PHP / Re: Problema insert de datos en PHP
9 Febrero 2020, 01:32 AM
El problema erstá acá:

for ($i=0; $i < count($codigo); $i++) {
$cadena.= "(".$numfact[$i]."', '".$codigo[$i]."', '".$usuari[$i]."', '".$cantid[$i].",".$iva[$i]."', '".$fc[$i]."', '".$fe[$i]."', '".$vtotal[$i]."'),";
}


Estás haciendo un for con una cantidad de vueltas igual a la longitud de $codigo, pero no todos los campos ingresados tienen la misma longitud, por lo cual cuando php intenta acceder al itemd e un array a traves del valor de $i este arroja un error porque el array no tiene esa cantidad de datos. Lo que no se sabe es cual de todos los datos exactamente no tiene la misma cantidad de registros, pero por otro lado tampoco tienes un control que indique que todos los arrays deben tener la misma cantidad de datos.

Haz algo, haz un print_r() a todos los datos antes de procesarlos y cuentalos. Tambien puedes probar con count($codigo)-1 ya que debes contar el valor 0 del array.

Saludos.
#314
Citar13 regiones, cada region tiene 15 modulos, y cada modulo utiliza 7 tablas independientes

Pues fácil, haces 7 tablas con sus columnas, le agregas una columna adicional relacional con el id del módulo, una tabla con los módulos, una tabla con las regiones y una tabla intermediaria relacional entre id de módulo y id de región. En total tendrás sólo 10 tablas.

Entonces, para saber a que módulo pertenece un registro solo le haces un where al id de módulo, y para saber a que region le pertenece un registro haces un inner join y le haces un where al id de región. De esa manera todos los registros de todos los módulos de todas las regiones estarán en esas mismas 7 tablas.

Si después necesitas obtener datos analíticos como por ejemplo cuantos registros existen por cada región tendrás que crear tablas desnormalizadas, o sea con datos planos y duplicados con contadores fijos para no tener que estar contando todo cada ves que quieras obtener un informe.

No te recomiendo hacer múltiples bases de datos, en ese caso podrías hacer particionamiento de datos sobre la base de datos (sufijos) pero tampoco te lo recomiendo ya que tu estructura no es tan grande ni compleja como para hacer esa separación, a demás tendrás que manejar permisos, optimización, administración multiplicado por tus regiones, si tu app es una sola y maneja múltiples grupos de datos puedes asociarlos dentro de una misma base de datos siempre y cuando sean parte de un mismo proyecto independiente de cuantas capas tenga.

Mira, acá te lo explico mejor: https://voca.ro/jQJ4QiDDfkc

Saludos.
#315
En jQuery:

Código (html4strict) [Seleccionar]
<!DOCTYPE html>
<html>
   <head>
       <title></title>
       <script>
           $(document).ready(function(){
               
               variable = 'mi variable';

               $('#changeme')
                   .mouseover(function(){
                       $(this).attr('title', variable);
                   })
                   .text(variable); // Texto y no HTML, evita XSS
           });
       </script>
   </head>
   <body>
       <p id="changeme" title="texto"></p>
   </body>
</html>


Recuerda que en un buen desarrollo debes separar el tipo de código, por ejemplo el código javascript debería estar en un archivo js separado del html al igual que el css.

Saludos.

#316
Hola, la próxima ves intenta no revivir temas viejos.

Talves tu problema sea el driver de MySQL, verifica la versión de MySQL si es CE o Enterprise, si es MariaDB 5 o 10, etc.

Has probado con Postgres mejor?, por otro lado, podrías probar con Spring Boot ya que trae integrado por defecto las dependencias para MySQL si lo seleccionas desde Spring Starter.

Saludos.
#317
Flash es una tecnología obsoleta y no recomendada, me sucede algo similar cuando quiero entrar a armorgames xD me gustan muchos juegos de ahí (este es mi favorito: https://armorgames.com/play/16/runes-of-shalak ) pero lamentablemente ningún navegador es compatible con flash.

Por defecto ningún navegador hasta donde yo se te deja instalar flash por temas de seguridad, creo que internet explorer es la excepción. Puedes probar con alguna instalación vieja de google chrome ya que ese venía con flash embebido.

Saludos.
#318
Nopues, eso va a depender de como lo estés descargando y desde donde y desde que protocolo, por ejemplo, si descargas algo por wget puedes ir mirando el progreso, si lo haces desde un navegador web es caso imposible por el siguiente motivo:


El content length

No siempre los navegadores saben cuanto queda por descargar algo, el servidor puede estar infinitamente enviando contenido, para esto existe la cabecera http content-length el cual dice cuantos bytes debiera transferirse, de esta manera el navegador toma ese valor y le resta la cantidad de bytes descargados y saca un promedio en procentaje, si tu quisieras saber esto fuera del navegador tendrias que haber interceptado el paquete http, si usas tshark, tcpdump y similares deberás rearmar los paquetes con un buen filtro que te arroje únicamente los paquetes en plano de tu descarga, luego de eso tendrás que ir contando byte por byte, esto quiere decir que si no realizas un capturado de tráfico desde el inicio no podrás saber la longitud del contenido ni la cantidad de bytes que ya han sido transferidos.


El SSL

Otro problema es que si el contenido viaja por https entonces tendrás la complicación de tener que descifrar los paquetes y para ello deberás tomar la llave del certificado más la del storage interno de tu navegador para poder ver paquete por paquete cual es el contenido real e ir contando los bytes uno por uno ininterrumpidamente.


El rearmado de paquetes

Para hacer esto necesitas un filtro muy grande de captrado de paquetes ya que TCP sólo envía trozos de paquetes y no todo el tráfico de una ves, esto quiere decir primeramente que no puedes llegar a mitad de descarga y saber cuanto queda, sino que tendrás que crear una sesión desde el momento en que el navegador solicita el archivo y el servidor responde, a demás, debes interpretar elcontenido http, leer la cabecera y comenzar a rearmar los paquetes, por otro lado tendrás la complicación de que no puedes hacer un capturado según puertos y direcciones IP porque si el navegador WEB sigue navegando entonces tendrás m,ás tráfico asociado a la misma dirección IP y al mismo puerto, entonces tendrás que valerte por los flags de sesión de la estructura de TCP4 y no será para nada fácil.


La sandbox del navegador

Por otro lado, no puedes ir a buscar a la memoria ram el progreso del archivo ya que los navegadores modernos contienen cajas de arena que impiden que un proceso pueda acceder a la información del contenido de los sitios, contraseñas, etc, tendrías que encontrar una vulnerabilidad en el navegador para hacer esto.


Limitación del software

Por otro lado, no hay navegador WEB como Firefox que te permita saber el progreso de algo llamando a un simple comando, los navegadores no fueron diseñados para esto.


Costo v/s Beneficio

Podrías lograrlo fabricando un complemento para Firefox, es lo más fácil que se me ocurre, todo dependerá del navegador que estés usando.


Realismo

Para lo que tu quieres hacer te recomiendo descargar los archivos con wget sobre una sesión de tmux, es una sesión activa que queda viva aun despues de cerrar sesión en tu cuenta de ssh, cuando vuelves ejecutas tmux attach y vuelves a la misma ventana de la descarga que dejaste y asi sabrás cual es el progreso de tu descarga.

Saludos.
#319
Debes aprender a formalizar cada cosa, primeramente... hay algún documento o contrato que diga explicitamente que tu tenías esos archivos? si no es así entonces nadie puede demostrar que tu tenías los archivos, por lo cual no pudiste haberlos distribuido, ais que legalmente no podrían acusarte, por otro lado, si hay un documento que dice que si tenías esos archivos entonces tenias que haber firmado un documento de tipo NDA donde tu te comprometes a la no divulgación de la información y listo, da lo mismo si habías borrado o no la información porque una cosa es que tengas los archivos y otra totalmente diferente es que tu los hayas divulgado.

Saludos.
#320
Yo lo he probado en instalaciones recientes desde repositorios para centos 7 sobre httpd, itk y mod security. Tengo algunos sitios y en ocasiones pruebo temas como estos. Lo que no funciona para la versión nueva de apache son las inyecciones de cabeceras con saltos de línea, pero en este caso es diferente, el salto de línea se encuentra codificado en urlencode por lo cual apache lo procesa sin ningún problema, el tema está en las reglas por defecto de mod security, hay un sin fin de maneras de evadir las reglas, me ha tocado hacer payloads para xss con mod security para empresas donde trabajo y no es muy dificil evadirlos.

De todas maneras creo que no es bueno divagar sobre si es posible o no hasta no tener certeza de las reglas aplicadas en el servidor. Caroxh1, tienes la dirección URL para hacer algunas pruebas? podrías enviarla por interno para compartirlo con engel ex y jugar un poco.

Saludos.