Seite 6 von 6

Re: [BETA] Simple Gallery

Verfasst: 10.06.2025 22:49
von IMC
IMC hat geschrieben: 10.06.2025 19:00 Prüfe außerdem, ob keines dieser Schlüsselwörter in der Datei vorkommt.
Da muss ich jetzt zurückruder. Der Test läuft bei dir schon.
Du müsstest nur noch zwei Sprachvariablen definieren.
SG_FILES_ERROR_INVALID_FILENAME
SG_FILES_ERROR_DISALLOWED_CONTENT

Getestet habe ich dies indem ich eine HTML-Datei in ein JPG umbenannt habe und diese dann hochgeladen habe.

Re: [BETA] Simple Gallery

Verfasst: 10.06.2025 23:05
von chris1278
Okay. Ich hab das mit einer txt datei gemacht die ich umgewandelt habe.

Re: [BETA] Simple Gallery

Verfasst: 10.06.2025 23:11
von IMC
Habe eben meinen Beitrag editiert. Das Problem lag an einer Codezeile die noch von mir drin war.

Re: [BETA] Simple Gallery

Verfasst: 10.06.2025 23:19
von chris1278
Ich hab dir nen link zur b13 version geschickt. Teste mal damit bitte diese crossing geschichte. Es wird jetzt definitiv aber auf bildtypen geprüft.

Re: [BETA] Simple Gallery

Verfasst: 10.06.2025 23:41
von IMC
Bei einer gefakten Binärdatei gab es ein akkurate Fehlermeldung.

Bei meiner HTML-Datei gab es diese PHP Warnung.

Code: Alles auswählen

[phpBB Debug] PHP Warning: in file [ROOT]/ext/chris1278/gallery/core/file_manager.php on line 152: exif_imagetype(./images/gallery/administrator_f8de64cc/album01/Neues Textdokument.jpg): Failed to open stream: No such file or directory
und diese fehlende Sprachvariable SG_FILES_ERROR_DISALLOWED_CONTENT

Re: [BETA] Simple Gallery

Verfasst: 10.06.2025 23:47
von chris1278
Kannst du mir mal den Inhalt der html datei posten mit der du testen tust.

Vergleich mal den Block in der Datei ..\ext\chris1278\gallery\core\file_manager.php ab Zeile 144 mit dem hier:

Code: Alles auswählen

if (!empty($filename))
{
	$final_upload_dir_file = $this->root_path . 'images/gallery/' . $user_hash .'/' . $selected_album . '/' . $filename;

	if (!file_exists($final_upload_dir_file))
	{
		$upload_file->move_file($upload_path, true, true, 0644);

		$checkfile =  exif_imagetype($final_upload_dir_file);

		if ($checkfile == IMAGETYPE_GIF || $checkfile == IMAGETYPE_JPEG || $checkfile == IMAGETYPE_PNG || $checkfile == IMAGETYPE_SWF ||
			$checkfile == IMAGETYPE_PSD || $checkfile == IMAGETYPE_BMP || $checkfile == IMAGETYPE_TIFF_II || $checkfile == IMAGETYPE_TIFF_MM ||
			$checkfile == IMAGETYPE_JPC || $checkfile == IMAGETYPE_JP2 || $checkfile == IMAGETYPE_JPX || $checkfile == IMAGETYPE_JB2 ||
			$checkfile == IMAGETYPE_SWC || $checkfile == IMAGETYPE_IFF || $checkfile == IMAGETYPE_WBMP || $checkfile == IMAGETYPE_XBM ||
			$checkfile == IMAGETYPE_ICO || $checkfile == IMAGETYPE_WEBP || $checkfile == IMAGETYPE_AVIF)
		{
			$message = 'picupload_ok';
		}
		else
		{
			$message = 'picupload_not_a_picture_type';
			$this->filesystem->remove($final_upload_dir_file);
		}
	}
	else
	{
		$message = 'file_in_directory_exist';
	}
}
Weil eigentlich sollte das so ablaufen.

Datei wird hochgeladen. Dann geprüft. Wenn bild ist die datenbank entsprechend geupdatet ansonsten die datei gelöscht und meldung rausgegeben,