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

#2881
PHP / Re: alternativa a sleep
23 Mayo 2011, 19:13 PM
lo que quieres es hacer un hilo de proceso o evento donde vb6 haga esa espera pero en php los eventos e hilos de proceso no existen o por lo menos yo no se como realizar un evento, si te fijas es un sub no un function por lo tanto es evento.

Puedes hacer algo similar pero necesitarías escribir una o dos lineas al comienzo del script y al final... :

Código (php) [Seleccionar]
<?php
/* Inicio */
$ttime = array(
'start'=>time(),
'sleep'=>10,
'rest'=>0
); /* Simula sleep en evento de 10 segundos */

/* Todo el resto del codigo aca */

/* Final */
if(($ttime['rest'] = time() - (int)$ttime['start']) < $ttime['sleep'])
 
sleep($ttime['rest']);
?>


Lo que hace es por ejemplo le das 10 segundos de sleep, entonces el script se ejecutará y digamos que se ha demorado 1 segundo, entonces restan 9, asi que  hará un sleep de 9 segundos restantes.
Si el script se demora 15 segundos no hará sleep porque ya superó el tiempo del sleep.

Te sirve?
#2882
Cita de: fercho21coco en 23 Mayo 2011, 02:52 AM
ESTE URL LA ESTAN ENVIANDO PARA Q CAIGAMOS EN UN VIRUS Q HACER?

no descargarlo.
#2883
depende el tipo de modificación, pero si no es menor puedes intentar con el photoshop y exportar en formato jpg, ahi te da la opción de exportar según el peso del archivo y calidad.
#2884
Actualmente algunos hosting dan espacio ilimitado pero un detalle que nunca nos fijamos es que cuando lo compramos vemos en el cpanel un indicador el cual nos indica el límite de número de archivos   :xD y eso en parte nos hecha por tierra todo el plan de hacer cosas como hosting de archivos, imágenes, etc.

Otra alternativa era alojar los archivos dentro de la base de datos codificados en base64 pero eso causaría una sobrecarga significativa si las visitas son numerosas.

Por lo tanto ideé una forma de alojar nuestros archivos de la siguiente manera:

Lo que vamos a hacer es crear un solo archivo como base de datos y le vamos a ir agregando al final todos los archivos de forma binaria, uno tras otro y de esta forma podremos alojar todos nuestros archivos en uno solo.

Algunos dirán que si la base de datos es enorme tendremos problemas de memoria,... pues no debido a que el script que haremos tomará el archivo y posicionará el puntero en el bite correspondiente a la imágen y luego obtendrá la cantidad de bites necesarios y luego finalizará.
Esto lo he probado con un iso de casi 3GB, he descargado solo 1MB a partir del bite que está posicionado en 500MB hasta 1MB después y el script anda rapidisimo, en menos de 0,2 segundos lo obtiene completamente y te lo entrega sin problemas ni uso excesivo de memoria ya que no cargará los 3GB sino solo 1MB.

Cómo límite vamos a configurar nuestro script para que se pueda subir y descargar archivos de hasta 2MB.

Código (php) [Seleccionar]
<?php
/* Default config */
$sys = array(
'db' => '.ht_dbimages'/* Database */
'self_script' => (isset($_SERVER['HTTPS']) == true 'https' 'http' '://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']),
'start' => 0/* Bite start */
'length' => 0/* Bites length */
'extension' => '.dat'/* File extension */
'max_length' => 2000000/* Max upload/download file (2MB) */
'finish_poiner' => 0,
'finish_length' => 0,
'finish_extension' => 'jpg',
'totalsizedb' => 0,
'err' => false,
'headerdb' => "DBIMG\x00\x01"
);
/* Re-config... */
if(!file_exists($sys['db']))
file_put_contents($sys['db'], $sys['headerdb']);
$sys['totalsizedb'] = filesize($sys['db']);

if(
$_FILES){
/* Manage errors */
if((int)$_FILES['img']['size'] > (int)$sys['max_length'])
$sys['err'] = 'El archivo es demasiado grande.';
if(!exif_imagetype($_FILES['img']['tmp_name']))
$sys['err'] = 'El archivo no es una imágen.';
/* Save file */
if(!$sys['err']){
$sys['finish_pointer'] = (int)$sys['totalsizedb'];
$sys['finish_length'] filesize($_FILES['img']['tmp_name']);
$sys['finish_extension'] explode('.'$_FILES['img']['name']);
$sys['finish_extension'] substr($sys['finish_extension'][count($sys['finish_extension']) - 1], 05);
file_put_contents($sys['db'], file_get_contents($_FILES['img']['tmp_name']), FILE_APPEND LOCK_EX);
}

}elseif(isset(
$_GET['data']) and (strlen($_GET['data']) > 0)){
/* Split data */
$data $_GET['data'];
if(str_replace('/'''$data) != $data){
$data explode('/'$data);
$data $data[count($data) - 1];
}
$data explode('_'$data);
$sys['start'] = (int)$data[0];
$data explode('.'$data[1]);
$sys['length'] = (int)$data[0];
$sys['extension'] = $data[count($data) - 1];
/* Manage errors */
if($sys['length'] > $sys['max_length'])
$sys['err'] = 'El archivo es demasiado grande.';
if($sys['start'] < 1)
$sys['err'] = 'El archivo no existe.';
if(($sys['start'] + $sys['length']) > $sys['totalsizedb'])
$sys['err'] = 'El archivo no existe.';
$tmpf tempnam(0'');
file_put_contents($tmpffile_get_contents($sys['db'], NULLNULL$sys['start'], $sys['length']));
if(!exif_imagetype($tmpf))
$sys['err'] = 'El archivo no es una imágen.';
/* Get file */
if(!$sys['err']){
header('Content-Type: image/'.substr($sys['extension'], 05));
header('Content-Length: '.(int)$sys['length']);
/* MAX Cache */
header('Last-Modified: Tue, 03 Jul 2001 06:00:00 GMT');
header('Expires: Tue, 03 Jul 2500 06:00:00 GMT');
echo file_get_contents($tmpf);
exit;
}

}
?>


<?php if($sys['err']){ ?>
Error: <?php echo $sys['err']; ?><hr />
<?php }elseif((int)$sys['finish_pointer'] > 0){ ?>
File saved:
<a target="_blank" href="<?php echo ($outfile dirname($sys['self_script']).'/'.(int)$sys['finish_pointer'].'_'.(int)$sys['finish_length'].'.'.$sys['finish_extension']); ?>">
<?php echo $outfile?>
</a><hr />
<?php ?>
<form action="<?php echo $sys['self_script']; ?>" method="post" enctype="multipart/form-data">
Image: <input type="file" name="img" /> <input type="submit" value="Upload" />
</form>


Ahora el archivo subido nos quedará así:
/500_10.jpg
donde 500 es el bite de inicio, 10 es el tamaño de bites y jpg es la extensión.

Para interpretar esto necesitamos un htaccess:
# MiniHostingIMG V1.0 by DrawCoders
Options -Indexes
ErrorDocument 404 "El archivo no existe <a href='javascript:history.go(-1);'>Volver</a>"
RewriteEngine on
RewriteCond %{REQUEST_URI} !(.*)index.php$
RewriteRule ^(.*)$ index.php?data=$1


Si se fijan el error 404 le puse el contenido directo (que ustedes pueden modificar o poner una url) y el index en cualquier parte para que no de problemas al poner nuestro sistema en un subdirectorio y no tengamos que editar todo manualmente.

Recuerden que deben dar permisos de escritura a la base de datos.
El nombre de la base de datos le puse que comenzara en .ht... porque por defecto el servidor apache impide la visualización directa de estos archivos porque supuestamente son de configuración.

Ejemplo de prueba momentaneo:
http://www.webcomparte.com/lab/hotingimg/




Además le puse un header para el caché, de esta forma la gente cargará una sola ves la imágen impidiendo la sobrecarga.

El diseño se lo ponen ustedes a su antojo.
Cualquier duda me la escriben.

Saludos.
#2885
Podrían leer un poco mejor el primer post y darse cuenta que es del año 2007? claramente los links a estas alturas deben estar todos rotos y codebreak hace años que no lo veo en ningún foro.
#2886
dicen wifi nada mas asi que puedes usar la pc por cable lan en la escuela (en la biblioteca)

ya me imagino, si tesla hubiera llevado a cabo eso de que todo el mundo tuviera electricidad por la señal microhondas como un celular entonces estariamos todos mutados con 18 brazos, tres ojos y moderando el foro de desarrollo web
#2887
supongo que es solo en españa? por lo menos con telefónica tengo hace casi 7 años 1mb ni un mega mas ni un mega menos por el precio normal, a los 4 megas se disparan porque debes contratar un montón de cosas mas o si no no te dan nada porque la conexión sola vale lo mismo.
#2888
Creo que esto definitivamente va a reemplazar la tecnología actual touch de contacto físico sobre la pantalla a lasers simplemente tal como en las pelis xD



Recientemente estudiantes de la Universidad de Texas A&M presentaron ZeroTouch, un sistema basado en un marco con sensores infrarrojos y LEDs para gestionar el reconocimiento multi-punto. Esto significa que no utiliza un membrana resistiva o capacitiva transparente para dar capacidades táctiles a alguna superficie, incluso puede dar el soporte para manipulación 3D sin necesidad de cámaras.

Jonathan Moeller del Laboratorio de Interfaces Ecológicas describe el sistema como un marco que disparan miles de rayos de luz (invisible) para detectar cualquier cosa que se cruza. ZeroTouch incorpora 256 sensores infrarrojos que se conectan al marco y se comunican a la computadora.

    "Cuando estos rayos se interrumpen, significa que algo ha tocado la pantalla. Podemos visualizar cualquier objeto dentro del marco con la reconstrucción de la malla y la interrupción de haces".

Además de ser un interesante sistema de tacto espacial al vacío – que incluso puede dar una experiencia de profundidad – también se puede montar sobre una pantalla de computadora convencional y convertirla en una superficie multitouch.

Los desarrolladores señalan que ZeroTouch no requiere presión de mano o dedos, lo que reduce la fatiga muscular.

Por cierto, el módulo original estaba basado experimentos previos de Moeller con Arduino. Actualmente el marco cuenta con 32 módulos HappyFunTouch v2.1  que integra 1 LED y 8 sensores infrarrojos.

[youtube=425,350]http://www.youtube.com/watch?v=cq2Ng14dV6E&feature=player_embedded[/youtube]

Fuentes:
http://www.domain-b.com/technology/20110516_zerotouch.html
http://blog.drawcoders.com/2011/05/16/zerotouch-desarrollan-en-sistema-multitactil-basado-en-la-interrupcion-haces-de-luz/
#2889
Denme una botnet de 5k y con eso amenazo a bill gates para que deje de robar.

Yo pienso que solo se están buscando publicidad y que no son mas que un grupo de personas sin mujeres y con nada que hacer, comiendo pizzas y jugando cod o quake.

Un juez no va a reconsiderar una decisión por una botnet.

Yo pienso que anonymous si tubo que ver con lo de sony solo que está claro que hayan sido o no nunca lo van a decir o si no ,muchos se les van a venir encima sin contar la multitud de demandas... de hecho lo mas probable es que sony tenga localizado a mas de algún integrante de anonymous solo que no pueden hacer nada si no confiesan porque no hay pruebas contundentes.

Por lo menos tienen cabeza pero las medidas tomadas están un poco lejos de ser un blackhat, tienen mas aire de lammhat.

Bastaba sniffear los paquetes de la net de ps3 y capturar los certificados para hacerle una auditoría a nivel web, no creo que hayan encontrado algún fallo en un servicio a nivel binario, apostaría mi mano derecha a que fue algo de tipo inyección sql o query sql como la de facebook con la fql inyect.

Alguien que realmente quiere tocar las partes intimas de alguien no tiene porqué ir tocando trompetas de que lo va a hacer, lo hace simplemente y después lo dirá, el mejor virus es el que no se detecta y pasa desapercibido, trabajos internos, que se yo, pero eso de superjusticiero como que no va.

TODO EL MUNDOOO!!! en una semana mas le hackeo la web a obama para que rebaje los impuestos!! y si no puedo lo ddoseo con mi server de 50mb/s....

Como que no va verdad?
#2890
Cita de: Castiblanco en 15 Mayo 2011, 05:18 AM
Y luego preguntan que por qué los ateos atacamos la religión, y después dicen que no es un virus, tras su fachada sólo busca hacerse más y más ricos.

No todo el que está dentro de la panadería es panadero, no metas a todos al mismo saco, no porque hayan padres violadores todos somos violadores.
Además podrían dirigirse a "Iglesia católica" y no solamente "Iglesia" porque así están juzgando a tooooooodos los cristianos cuando no todos somos católicos, yo no participo amasando dinero con ellos pero soy Cristano y tampoco estoy de acuerdo con lo que ellos hacen, de hecho la biblia está lleno de pasaje no favorables contra ese tipo de gente y esto se viene advirtiendo desde hace muuuuuchos años.