He subido el archivo del sistema en mi proyecto php.
Lo que hago al subir:
1) Compruebe la extensión de archivo y el tipo de mime de archivo.
2) Si la extensión y el tipo mime son tipos permitidos, guardo el archivo fuera del directorio public_html y luego, les doy la oportunidad a los usuarios, descargo el archivo para:
if (file_exists($file_path)) {
header('Content-Description: File Transfer');
header('Content-Type: some mime type');
header('Content-Disposition: attachment; filename=somefilename');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file_path));
readfile($file_path);
}
Pregunta: estos pasos para subir archivos, ¿son seguros o no? Si no es así, ¿qué puede hacer adicional para mejorar la seguridad al cargar el archivo?
Gracias.