Seite 5 von 6

Re: [BETA] Simple Gallery

Verfasst: 06.06.2025 20:59
von IMC
Hier wäre mein Vorschlag als Ergänzung zu deiner sg_gallery.css.

Suche:

Code: Alles auswählen

.sg_viewpic_info_dd {
	float: right !important;
	font-weight: bold;
}
Ersetze mit:

Code: Alles auswählen

.sg_viewpic_info_dd {
	float: right !important;
	font-weight: bold;
	margin: 0 !important;
	padding-top: 1px !important;
	padding-bottom: 1px !important;
}

.sg_viewpic_info_dd a {
	font-size: 1rem !important;
	background-color: #B3E6FF;
	border-radius: 6px;
	padding: 1px;
}

.sg_viewpic_info_dd a i {
	vertical-align: middle;
}

.sg_viewpic_info_dd .icon::before {
	padding: 0;
}

Re: [BETA] Simple Gallery

Verfasst: 06.06.2025 21:42
von chris1278
Ich werde dies mal ausprobieren. Danke schonmal.

@edit

Das gefällt mir sehr gut. Da bleiben die Farben wie Standard nur der Hintergrund wird wie eine Art Button erhellt. Das wird übernommen.

Re: [BETA] Simple Gallery

Verfasst: 08.06.2025 23:29
von IMC
Ich habe eben getestet ob bei SG "Cross Site Scripting" möglich ist. Ist es.

Das heißt das du die hochgeladen Bilder unbedingt überprüfen. Das heißt du musst sicher stellen das es sich um Bilddateien handelt.
phpBB verwendet dazu diese Methode: https://area51.phpbb.com/docs/code/3.3. ... d_is_image

Edit:
Habe es eben getestet. Liefert leider ein falsches Ergebnis. :(

Re: [BETA] Simple Gallery

Verfasst: 09.06.2025 01:18
von chris1278
Also eigentlich sollte der Upload Vorgang ganz bei phpbb selber liegen. Also mit deren Prüfung.

Re: [BETA] Simple Gallery

Verfasst: 09.06.2025 08:10
von IMC
phpBB liefert einen Uploaderror wenn ich meine Testdatei in einem Post hochladen möchte. Nicht bei der Simple Gallery.

Zusätzlich schützt phpBB sich in dem es die Dateien in einem Bereich speichern, der vor äußeren Zugriffen geschützt ist. Wenn die Dateien abgerufen werden sendet phpBB einen Header mit. So kann kein fremder Code gestartet werden.

Hiermit kannst du prüfen ob es sich um eine Bilddatei handelt.

Code: Alles auswählen

if ($upload_file->get('imagesize')->getImageSize($upload_file->get('filename')) === false)
{
	echo 'Kein Bild';
}
else
{
	echo 'Es ist ein Bild';
}
Diese Prüfung mußt du einsetzen bevor du die upgeloadete Datei in deinen Ordner verschiebst.

Die Methode getImageSize() gibt bei einer Bilddatei ein Array mit den Bildabmessungen und den Bildtyp zurück. Wenn die Werte nicht ermittelt werden können ein false.

Wenn man will kann man diese Prüfung bestimmt auch austricksen. Deswegen wird dies allein nicht ausreichen.

Edit:
Habe eben noch mal grob geschaut. phpBB hat noch mehr Dateiprüfungen beim upload. Unter anderem check_content($disallowed_content) in class filespec.

Re: [BETA] Simple Gallery

Verfasst: 09.06.2025 09:07
von chris1278
Ich hab hier mit der Funktion schon experimentiert exif_imagetype . Ich denke dies ist dafür etwas bessergeeignet. Aber dies hat phpbb selber nicht in seinem System. Ich mus nur rnoch schauen wie ich des umsetze.

Re: [BETA] Simple Gallery

Verfasst: 09.06.2025 09:36
von IMC
Den Imagetype liefert dir auch getImageSize(). Da brauchst du exif_imagetype nicht.
Hier das Array welches zurück geliefert wird:

Code: Alles auswählen

array(3) {
  ["width"]=>int(500)
  ["height"]=>int(500)
  ["type"]=>int(2)
}
Typ 2 ist JPG.

Re: [BETA] Simple Gallery

Verfasst: 10.06.2025 13:57
von chris1278
Ok werde ich mir mal anschauen.

Re: [BETA] Simple Gallery

Verfasst: 10.06.2025 19:00
von IMC
Mach das. getImageSize() hat aus meiner Sicht den Vorteil das nicht nur die Imagetype aus dem Dateiheader gelesen wir sondern auch die Bildabmessungen. Das sind schon zwei Bedingungen die erfüllt werden müssen.

Prüfe außerdem, ob keines dieser Schlüsselwörter in der Datei vorkommt.
https://github.com/phpbb/phpbb/blob/mas ... ad.php#L29

Mit diesen Abfragen sollte eine Injektion durch Cross Site Scripting so gut wie ausgeschlossen sein.

Re: [BETA] Simple Gallery

Verfasst: 10.06.2025 19:23
von chris1278
Ich denke aber da ich nur den dateitype benötige bleibe ich den doch bei exif_imagetype. Den Rest brauch ich nicht da dies phpbb beim upload schon selber prüft. Also die grösse und so.

Ich hab zumindest das umgebaut das es funktioniert. Wie teste ich den diese html und body geschichte.