Animierte .jpgs unterbinden?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

Also wenn du erstmal erkennen willst, ob die Datei wirklich der Dateityp ist, dessen Dateiendung sie trägt, kannst du folgendes machen:

[ÖFFNE includes/usercp_avatar.php]
[FINDE]

Code: Alles auswählen

function check_image_type(&$type, &$error, &$error_msg)
{
	global $lang;

	switch( $type )
	{
		case 'jpeg':
		case 'pjpeg':
		case 'jpg':
			return '.jpg';
			break;
		case 'gif':
			return '.gif';
			break;
		case 'png':
			return '.png';
			break;
		default:
			$error = true;
			$error_msg = (!empty($error_msg)) ? $error_msg . '<br />' . $lang['Avatar_filetype'] : $lang['Avatar_filetype'];
			break;
	}

	return false;
}
[ERSETZE MIT]

Code: Alles auswählen

function check_image_type(&$type, &$gd_type, &$error, &$error_msg)
{
	global $lang;

	switch( $type )
	{
		case 'jpeg':
		case 'pjpeg':
		case 'jpg':
			if ( $gd_type == 2 )
			{
				return '.jpg';
			}
			break;
		case 'gif':
			if ( $gd_type == 1 )
			{
				return '.gif';
			}
			break;
		case 'png':
			if ( $gd_type == 3 )
			{
				return '.png';
			}
			break;
	}

	$error = true;
	$error_msg = (!empty($error_msg)) ? $error_msg . '<br />' . $lang['Avatar_filetype'] : $lang['Avatar_filetype'];

	return false;
}
[FINDE (2x)]

Code: Alles auswählen

			list($width, $height) = @getimagesize($tmp_filename);
[ERSETZE MIT]

Code: Alles auswählen

			list($width, $height, $gfx_type) = @getimagesize($tmp_filename);
[FINDE]

Code: Alles auswählen

	if ( !($imgtype = check_image_type($avatar_filetype, $error, $error_msg)) )
[ERSETZE MIT]

Code: Alles auswählen

	if ( !($imgtype = check_image_type($avatar_filetype, $gfx_type, $error, $error_msg)) )
Ich habs jetzt nur ganz kurz getestet, aber es scheint zu funktionieren...
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
musashi
Mitglied
Beiträge: 1585
Registriert: 04.12.2003 12:50
Wohnort: Wien
Kontaktdaten:

Beitrag von musashi »

Danke schon mal für Deine Mühe :)
QCO hat geschrieben: [FINDE (2x)]

Code: Alles auswählen

			list($width, $height) = @getimagesize($tmp_filename);
[ERSETZE MIT]

Code: Alles auswählen

			list($width, $height, $gfx_type) = @getimagesize($tmp_filename);
Gibts bei meinem unmodifiziertem Testforum nur 1x
QCO hat geschrieben: Ich habs jetzt nur ganz kurz getestet, aber es scheint zu funktionieren...
Das Prinzip ein Avatar zu blocken scheint in der Tat zu funktionieren - nur blockt er alles was ich vom Rechner hochladen möchte.
www.dsaforum.de - DAS DSA Fanforum
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“