 cfbbb29ee8
			
		
	
	
		cfbbb29ee8
		
	
	
	
	
		
			
			Allow users to upload files with html or htm file extensions except for when the name is index.
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| session_start();
 | |
|   ini_set('display_errors', '1');
 | |
| ini_set('display_startup_errors', '1');
 | |
| error_reporting(E_ALL);
 | |
| 
 | |
|   if(isset($_FILES['file'])) {
 | |
|     $file = $_FILES['file'];
 | |
| 
 | |
|     //file properties
 | |
|     $fileName = $_FILES['file']['name'];
 | |
|     $file_name = $file['name'];
 | |
|     $file_tmp = $file['tmp_name'];
 | |
|     $file_size = $file['size'];
 | |
|     $file_error = $file['error'];
 | |
|     $fileError = $_FILES['file']['error'];
 | |
|     $fileNewName = $fileName;
 | |
| 
 | |
|     $file_destination = 'filer/' . $file_name;
 | |
| 
 | |
|     $fileExt = explode('.', $fileName);
 | |
|     $fileActualExt = strtolower(end($fileExt));
 | |
| 
 | |
|     $banned = array('php', 'js', 'php5', 'pht', 'phtml', 'shtml', 'asa', 'cer', 'asax', 'swf');
 | |
|     $allowed = array('zip', 'gz', 'tar', 'png', 'jpg', 'bmp', 'html', 'htm');
 | |
| 
 | |
|     //if(in_array($fileActualExt, $banned))
 | |
|     //{
 | |
|       //$fileError = 2;
 | |
|     //}
 | |
| 
 | |
|     foreach ($banned as $url) {
 | |
|         if (strpos($fileActualExt, $url) !== FALSE) {
 | |
|             $fileError = 2;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     if ($file_name === 'index.htm' || $file_name === 'index.html') {
 | |
|         $fileError = 2;
 | |
|     }
 | |
| 
 | |
| //      require "fileLogger.php";
 | |
| 
 | |
| 
 | |
|     if($fileError == 0) 
 | |
|     {
 | |
|       if(move_uploaded_file($file_tmp, $file_destination))
 | |
|       {
 | |
|         $path = 'https://trygve.me/filopplasting/' . $file_destination;
 | |
|         $filLink = '<a href=" ' . $path . '" class="alert-link">' . $path . '</a>';
 | |
|         //echo $fillink;()
 | |
|         $buttonData = 'Filen ble lastet opp! <a href="' . $filLink . '" class="btn btn-info">Kopier lenke</a>';
 | |
|         $_SESSION['linkData'] = 'Filen ble lastet opp! ' . $filLink;
 | |
|         $_SESSION['link'] = $path;
 | |
|         $_SESSION['fileupload-response'] = 'success';
 | |
|       }
 | |
|     }
 | |
|     elseif($fileError === 2)
 | |
|     {
 | |
|       $_SESSION['fileupload-response'] = 'banned';
 | |
|     }
 | |
|     else
 | |
|     {
 | |
|       $_SESSION['fileupload-response'] = 'failed';
 | |
|     }
 | |
| }
 | |
| 
 | |
| header("location:../filopplasting");
 | |
| ?>
 |