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

#2081
Mira, yo hize un uploader de imagenes en php sin utilizar mysql y sin problemas de seguridad, lo hize en 30 minutos:

Index.php:
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>


.htaccess:
# MiniHostingIMG V1.0 by WHK - 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


Pones esos dos archivos juntos y listo!, utiliza un solo archivo como base de datos binario, aunque pese 50gb no tarda mas de 0.001 segundos en obtener los archivos ya que el puntero de php se posiciona justo sobre el byte adecuado, no necesita cargar el archivo completo, además es super util en hostings que te restringen el numero de archivos guardados como hostgator.

El archivo que el sistema creará para la base de datos se llama .ht_dbimages, hay que darle permisos de sobreescritura, por defecto los servidores apache deniegan el acceso directo gracias a la directiva por defecto de denegación de acceso a <.ht*>.
#2082
El dia en que adobe decida extender su suite (photoshop, premiere, ilustrator, etc) a linux asi como lo hizo en mac va a ser el acabo de windows, de hecho siempre he pensado que debe haber algún tipo de alianza con microsoft para impedir este lanzamiento por el mismo motivo.
#2083
Perdón por el offtopic... pero que pasó con wolfbcn?
#2084
Le puse play pero cuando escuché que la primera palabra estaba en ingles la cerré xD
#2085
Foro Libre / WHK Conversor 2.2
9 Agosto 2012, 19:31 PM
Hola a todos :D , hace unas semanas atrás publiqué un código sobre un convertidor de multiples algoritmos md5, sha1, etc para Android pero hecho totalmente en javascript.

Bueno, he pasado todo el código incluyendo el layout html a código nativo Java y XML para Android y ahora si anda de lujo :D

Algunas capturas:






El enlace de la descarga:
https://play.google.com/store/apps/details?id=com.drawcoders.conversor

Que tal? :D, en uno o dos meses maas veré la posibilidad de liberar el código para que todos podamos crear nuestras propias aplicaciones basadas en los cambios de otros :)
#2086
Si lo piensas bién si tu tienes un macbook air, un iphone y un ipad... donde vas a meter la backup de todos tus dispositivos?, normalmente en tu macbook, por eso la noticia decia que cuando se habia apagado su iphone no le habia dado importancia porque tenia sus backups, pero claro, de seguro que estaban en su macbook que también fue formateado (recordar que todos los productos de apple pueden ser formateados remotamente desde tu cuenta de apple).

A raiz de esta noticia es  muy probable que otras personas intenten realizar el mismo truco para obtener cuentas agenas a traves de ingeniería social, talves se dió cuenta de los datos que te solicitaba apple y de alguna forma se hizo con ese dato y listo.
Por ejemplo en Chile puedes habilitar o dar de baja cualquier servicio de telefonia, internet, cable tan solo llamando desde el teléfono fijo de la casa y puedes decir que eres el presidente de la republica y listo.
Para ver tu estado de cuenta de algunas grandes tiendas comerciales solo te pide tu fecha de nacimiento y con eso sueltan todos tus datos, movimientos, creditos, etc.

Deberian utilizar algún tipo de confirmación como una contraseña o un número único que pueda digitarse a traves del teclado numérico del teléfono sin restricción de cantidad de números.

El aparato de apple debería tener alguna preferencia o algún lugar donde desactivar dicha opción para el formateado remoto, o si no bastaría simplemente con modificar el archivo hosts y bloquear los dominios de apple aunque siendo un dispositivo tan restrictivo que depende casi 100% de apple es bién dificil, si fuera android o google bastaría con desactivarlo, modificarlo del sistema operativo o simplemente bloqueando el dominio del fabricante y listo, no quedaría inservible como en el caso del iphone, pero en fin...
#2087
Menú principal? horizontal? simple?, no se, nunca supe que tuviera un nombre hacer menus con enlaces con etiquetas <a>, solo se llaman menus y ya.
#2088
Desarrollo Web / Re: Select!!
2 Agosto 2012, 15:04 PM
Código (html4strict) [Seleccionar]
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
$(document).ready(function(){
$('select[name="hello"]').change(function(){
document.location = $(this).val();
});
});
</script>
</head>
<body>
<select name="hello">
<option selected>OPCION</option>
<option value="http://www.google.cl/">Google</option>
<option value="<?php echo url('test/test'); ?>">Test</option>
<option value="/">Home</option>
</select>
</body>
</html>


De esta forma nunca vas a tener que modificar el script, solamente crear los selectores y listo, así podrás separar facilmente el javascript en un archivo .js y hacer todas tus modificaciones que necesites en el php o html.

Demo:
http://jsfiddle.net/qadJT/1/
#2089
Este es el malware mas ingenioso que he visto desde aproximadament el año 1995.
#2090
Se ve bueno aunque la barra de arriba con los datos del usuario, imágen del perfil y ese engrane se parece mucho al de google :-/ , incluso el diseño y la disposición de cáda bloque y división podría asegurar que es identica o parecida a algunos servicios móviles de google que han estado en el mercado desde hace casi 4 años, incluso lo de integrar drive, calendar y todo lo demás es lo mismo que hizo google con drive y la fusion de google accounts con google calendar, google drive, mail, etc.

Si tuviera dinero me gustaría tomar todos los servicios de google y cambiarles el color y hacerle harta publicidad para hacerme tan millonario como los de microsoft :D