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.