Hola he visto que type que con el consigo la extensión de un archivo me dice que los exe, rar,zip,gmk y otros mas son application/octet-stream. Mi pregunta es como reconocer cual que extensión tiene si todos me los muestra igual??
Saludos
| ||||
Respuesta: Problema con $_FILES[]['type'] Si quieres obtener la extensión fácilmente, puedes jugar con pathinfo(); http://php.net/manual/es/function.pathinfo.php Saludos |
| ||||
Respuesta: Problema con $_FILES[]['type'] Para comprobar el tipo de fichero, usa Fileinfo y para obtener la extensión usa la función pathinfo como te dijo rottenp4nx. Saludos.
__________________ Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP |
| ||||
Respuesta: Problema con $_FILES[]['type'] rottenp4nx gracias por el link lo leio pero en path que quiere decir con: La ruta que se va a comprobar. Tengo que poner $_FILES['nombre'] o que?? andresdzphp tambien gracias por el link lo vi pero pone que fileinfo no es axacto y que es por aproximación. |
| ||||
Respuesta: Problema con $_FILES[]['type'] leíste el final? Cita: Las funciones en este módulo tratan de averiguar el tipo de fichero y codificación buscando por ciertas mágicas secuencias de bytes en una posición específica en el fichero. Por lo que no es exacto pero aun siendo por aproximación, funciona muy bién.
__________________ Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP |
| ||||
Respuesta: Problema con $_FILES[]['type'] Si pero igual dice que no siempre es exacto. Aunque tenga 99% de acierto también tiene 1% de fallo. Asi que puede ocurrir que me suban un archivo que no quiero en mi servidor y luego al intentar usar lo producir problemas(Hablo de la extension). Y una cosa... si ya existe $_FILES[''] y sus arrays porque se crean otras funciones que hagan lo mismo o casi lo mismo?? Quiza me confundo. Saludos |
| ||||
Respuesta: Problema con $_FILES[]['type'] Cita: $_FILES tampoco es exacto y no todos los MIME tienen la extensión. Por eso te falla con todos estos: exe, rar,zip,gmkUsando las funciones que te digo, mi resultado con un RAR es: application/x-rar extensión .rar Prueba así, para la extensión:
Código PHP:
Ver original Prueba este ejemplo, para que veas las diferencias:
Código PHP:
Ver original Cita: Saludos. MIME con finfo_file: application/x-rar Extensión: rar Type de $_FILES: application/octet-stream
__________________ Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP Última edición por andresdzphp; 05/01/2013 a las 18:03 Razón: Ejemplo |
| ||||
Respuesta: Problema con $_FILES[]['type'] El contenido de $_FILES (al igual que $_POST y $_GET) es proporcionado por el navegador, por lo tanto, es manipulable y, en el mejor de los casos, poco confiable, es por eso que debes validar. |
| ||||
Respuesta: Problema con $_FILES[]['type'] Veo que es mejor usar pathinfo pero ahora si para por ejemplo un archivo: nombre.gif la extension te la da como gif y para un archivo rar te la da como : application/x-rar como obtengo la extension para poder guardar el archivo? Antes lo obtenia con substr() y strpos() buscando esto: '/' pero ahora si me muestra resultados diferentes como se que tengo que buscar ?? Saludos |
| ||||
Respuesta: Problema con $_FILES[]['type'] Tienes que usar pathinfo para las extensiones.
__________________ Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP |
| ||||
Respuesta: Problema con $_FILES[]['type'] Y pathinfo siempre te da el nombre de la extension o casi siempre. Quiero decir si en lo que te da viene lo del final del archivo .jpg .gif .rar .exe y no los muestra con otro nombre ?? Saludos |
| ||||
Respuesta: Problema con $_FILES[]['type'] La idea no es saber la extensión del archivo, sino saber el contenido que tiene ese archivo. Tu puedes usar la extensión y adentro del contenido colocar otro tipo de código. Por lo que usar fileinfo es lo recomendable. Si quieres usar solo la extensión, entonces te vas a encontrar con alguien que puede introducir código y solo cambió el contenido. Es más si va a usar solo imagenes para subir arcihvos entonces puedes usar GD para detectar con exactitud que tipo de imagen es la que sube, de lo contrario lo aconsejable es fileinfo.
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| ||||
Respuesta: Problema con $_FILES[]['type'] Cita: Esque necesito la extension porque uso esto ya que no se usar otra forma de guardar el archivo :
Iniciado por abimaelrc La idea no es saber la extensión del archivo, sino saber el contenido que tiene ese archivo. Tu puedes usar la extensión y adentro del contenido colocar otro tipo de código. Por lo que usar fileinfo es lo recomendable. Si quieres usar solo la extensión, entonces te vas a encontrar con alguien que puede introducir código y solo cambió el contenido. Es más si va a usar solo imagenes para subir arcihvos entonces puedes usar GD para detectar con exactitud que tipo de imagen es la que sube, de lo contrario lo aconsejable es fileinfo.
Código PHP:
Ver original Solo tengo que cambiar lo para pathinfo y funcionara perfecto o hago algo mal? |
| ||||
Respuesta: Problema con $_FILES[]['type'] Debes pensar en lo que te puedes enfrentar en un futuro. Ya tienes un código pero al parecer no quieres pasar trabajo para lo que te puedas encontrar más adelante. Luego vas a querer venir al foro preguntando como evitar que ataquen en tu sitio ya que hay alguien que ha introducido un código y no sabes porque. Bueno solo hago la observación para que pienses mejor como prepararte. No estoy diciendo que vas a saber como defenderte en todas, pero lo que sepas trata de aplicarlo. Solo es cuestión de ver como funciona las cosas y empezar a implementarlas. Te tardas un poco en lograrlo porque vas a empezar a estudiar, pero te vas a evitar dolores de cabeza en un futuro.
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| ||||
Respuesta: Problema con $_FILES[]['type'] Cita: Gracias pero nadie me ha dicho como hacer lo mas seguro ni cual de las formas que me presentasteis es mejor para la seguridad. Yo hago todo lo posible para que mi sitio sea seguro. Uso lo que sepa hasta ahora y si aprendo una cosa nueva la agrego.
Iniciado por abimaelrc Debes pensar en lo que te puedes enfrentar en un futuro. Ya tienes un código pero al parecer no quieres pasar trabajo para lo que te puedas encontrar más adelante. Luego vas a querer venir al foro preguntando como evitar que ataquen en tu sitio ya que hay alguien que ha introducido un código y no sabes porque. Bueno solo hago la observación para que pienses mejor como prepararte. No estoy diciendo que vas a saber como defenderte en todas, pero lo que sepas trata de aplicarlo. Solo es cuestión de ver como funciona las cosas y empezar a implementarlas. Te tardas un poco en lograrlo porque vas a empezar a estudiar, pero te vas a evitar dolores de cabeza en un futuro. |
| ||||
Respuesta: Problema con $_FILES[]['type'] En el ejemplo #1 de la página del manual que sugirió rottenp4nx está muy claro como obtener la extensión: http://php.net/manual/es/function.pa...p#example-2345 Después sólo comparas la extensión con el tipo de archivo (usando Fileinfo) y, si no corresponde, no es seguro! |
| ||||
Respuesta: Problema con $_FILES[]['type'] Cita: Hola conseguir conseguir la extension pero el tipo es muy diferente a ella como entonces van a ser igual cuando es seguro?
Iniciado por Triby En el ejemplo #1 de la página del manual que sugirió rottenp4nx está muy claro como obtener la extensión: [url]http://php.net/manual/es/function.pathinfo.php#example-2345[/url] Después sólo comparas la extensión con el tipo de archivo (usando Fileinfo) y, si no corresponde, no es seguro! Por ejemplo para un archivo .exe la extension me la da bien exe pero el tipo application/x-msdownload No son iguales. La extension con pathinfo y el tipo con $_FILES['nombre']['type'] o no?? Me pueden dar un ejemplo de como hacerlo? Última edición por patilanz; 07/01/2013 a las 10:29 |
| |||
Respuesta: Problema con $_FILES[]['type'] Prueba esto, modifica el código, a mí me funciona perfectamente: Código PHP: |
| ||||
Respuesta: Problema con $_FILES[]['type'] Cita:
Iniciado por chubse Prueba esto, modifica el código, a mí me funciona perfectamente: Código PHP: No veo relación con lo que pido Gracias de todas formas. |
| ||||
Respuesta: Problema con $_FILES[]['type']
__________________ "No te preocupes si no funciona bien. Si todo lo hiciera, no tendrías trabajo." "El problema no es no saber, sino no saber quién sabe" ..::Con Karma se piensa mejor::.. |
Etiquetas: |