[BETA] Simple Gallery

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
IMC
Mitglied
Beiträge: 760
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [BETA] Simple Gallery

Beitrag 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;
}
Gruß, Thorsten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3903
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [BETA] Simple Gallery

Beitrag 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.
Benutzeravatar
IMC
Mitglied
Beiträge: 760
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [BETA] Simple Gallery

Beitrag 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. :(
Gruß, Thorsten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3903
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [BETA] Simple Gallery

Beitrag von chris1278 »

Also eigentlich sollte der Upload Vorgang ganz bei phpbb selber liegen. Also mit deren Prüfung.
Benutzeravatar
IMC
Mitglied
Beiträge: 760
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [BETA] Simple Gallery

Beitrag 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.
Gruß, Thorsten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3903
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [BETA] Simple Gallery

Beitrag 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.
Benutzeravatar
IMC
Mitglied
Beiträge: 760
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [BETA] Simple Gallery

Beitrag 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.
Gruß, Thorsten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3903
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [BETA] Simple Gallery

Beitrag von chris1278 »

Ok werde ich mir mal anschauen.
Benutzeravatar
IMC
Mitglied
Beiträge: 760
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [BETA] Simple Gallery

Beitrag 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.
Gruß, Thorsten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3903
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [BETA] Simple Gallery

Beitrag 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.
Antworten

Zurück zu „Extensions in Entwicklung“