Properly test if the file requested (cover or book) exists and send a 404 if it doesn't. Should fix #70
Este commit está contenido en:
		
							padre
							
								
									f90077154f
								
							
						
					
					
						commit
						f408a71f80
					
				
					Se han modificado 2 ficheros con 26 adiciones y 1 borrados
				
			
		
							
								
								
									
										1
									
								
								book.php
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								book.php
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -357,6 +357,7 @@ class Book extends Base {
 | 
			
		|||
        else
 | 
			
		||||
        {
 | 
			
		||||
            $data = $this->getDataById ($idData);
 | 
			
		||||
            if (!$data) return NULL;
 | 
			
		||||
            $file = $data->name . "." . strtolower ($data->format);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										26
									
								
								fetch.php
									
										
									
									
									
								
							
							
						
						
									
										26
									
								
								fetch.php
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -9,7 +9,14 @@
 | 
			
		|||
    require_once ("config.php");
 | 
			
		||||
    require_once ("book.php");
 | 
			
		||||
    require_once ("data.php");
 | 
			
		||||
     
 | 
			
		||||
 | 
			
		||||
function notFound () {
 | 
			
		||||
    header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
 | 
			
		||||
    header("Status: 404 Not Found");
 | 
			
		||||
 | 
			
		||||
    $_SERVER['REDIRECT_STATUS'] = 404;
 | 
			
		||||
}
 | 
			
		||||
    
 | 
			
		||||
    global $config;
 | 
			
		||||
    $expires = 60*60*24*14;
 | 
			
		||||
    header("Pragma: public");
 | 
			
		||||
| 
						 | 
				
			
			@ -26,6 +33,23 @@
 | 
			
		|||
    {
 | 
			
		||||
        $book = Book::getBookById($bookId);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    if (!$book) {
 | 
			
		||||
        notFound ();
 | 
			
		||||
        return;     
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    if ($book && ($type == "jpg" || empty ($config['calibre_internal_directory']))) {
 | 
			
		||||
        if ($type == "jpg") {
 | 
			
		||||
            $file = $book->getFilePath ($type);
 | 
			
		||||
        } else {
 | 
			
		||||
            $file = $book->getFilePath ($type, $idData);
 | 
			
		||||
        }
 | 
			
		||||
        if (!$file || !file_exists ($file)) {
 | 
			
		||||
            notFound ();
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
     
 | 
			
		||||
    switch ($type)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Cargando…
	
	Añadir tabla
		Añadir enlace
		
	
		Referenciar en una nueva incidencia