anpera.net
https://anpera.homeip.net/phpbb3/

allow_url_fopen(); und Avatare
https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=5315
Seite 1 von 1

Autor:  Jack [ Mi 09 Mär, 2011 21:26 ]
Betreff des Beitrags:  allow_url_fopen(); und Avatare

Hey!

Wenn ich allow_url_fopen(); deaktiviere, kann ich keinen Avatar mehr hochladen.

Es kommt die Fehlermeldung, dass es entweder den falschen Typ hat oder nicht gefunden wurde. Dabei hat es .jpg und das is ja erlaubt

Folgend ist das Stück code, das prüft ob es richtig ist. Wenn ich jetzt allow_url_fopen(); aber deaktiviere (womit ich mich sicherer fühle und somit auch den Ratschlag meines angehenden Hostest nachgehe), werden die Avatare nicht im Prefs-Feld gespeichert -> nicht ausgegeben..

Wenn ich allow_url_fopen(); aber aktiviere, geht alles ohne Probleme.

Kann man das irgendwie umgehen, ohne die Funktion zu aktivieren?

$this->bbcode_second_pass_code('', ' if (stripslashes($_POST['avatar'])!=$session['user']['avatar']){

$session['user']['avatar']=stripslashes(preg_replace("'[\"\'\\><@?*&#; ]'","",$_POST['avatar']));

$url=$session[user][avatar];
$bsize=@getimagesize($url);
if ($bsize[2]>0 && $bsize[2]<4) {
output("<img src='$url'>`n",true);
$typ=array(1=>"GIF","JPG","PNG","gif","jpg","png");
output("Bild gefunden, breite: $bsize[0], höhe: $bsize[1], typ: ".$typ[$bsize[2]]."`n");
if ($bsize[0]<401 && $bsize[1]<401) {
output("Bildabmessungen akzeptiert`n");
} else {
output("`\$FEHLER: `^Bildabmessungen zu groß! max. 400x400 Pixel!!`0`n");
$session[user][avatar]="";
}
} else {
output("`\$FEHLER: `^Bild nicht gefunden oder falsches Format! Nur GIF-, JPG- oder PNG-Dateien!!!`0`n");
$session[user][avatar]="";
}

}
')

Autor:  Auric [ Mi 09 Mär, 2011 23:53 ]
Betreff des Beitrags:  Re: allow_url_fopen(); und Avatare

Zunächst einmal eine wichtige Frage: Wo bzw. wie lädst du deine Avatare hoch?
Liegen die nach einem (nicht in der Standard-Version vorhanden) Upload im selben Space wie auch LotgD?
Oder werden diese an eine andere Stelle wie Image-Hoster geladen und von dieser Fremdseite per HTML in deine Seite eingebunden? (So macht es LotgD üblicherweise)



allow_url_fopen true, übrigens keine Funktion sondern ein Konfigurationsschalter, erlaubt es deinem Script, auch auf Dateien auf anderen Server so zu zu greifen, wie man es mit lokalen Dateien gewohnt ist. Dazu zählt auch die Funktion getimagesize(), die seit php 4.05 mit URLs arbeiten kann.
Wenn du ihr nun also den Zugriff auf fremde Server verbietest, in dem du allow_url_fopen auf false setzt, kann es die erweiterten Informationen über die Bilddatei nicht auslesen.

Daraus ergibt sich eine naheliegendes Lösung: Wenn weiterhin Informationen über Avatare abgefragt werden sollen, diese allerdings nicht mehr aus der Ferne geholt werden dürfen, müssen sie eben lokal verfügbar gemacht werden.

Grüße,
Auric

Autor:  Jack [ Do 10 Mär, 2011 00:32 ]
Betreff des Beitrags:  Re: allow_url_fopen(); und Avatare

Wieso gehen dann noch die Bilder, schon eingefügt worden waren. Das verwirrt mich ;-)

Aber danke für die Antwort. Dann schau ich mal, dass ich ein Upload Script für die Avatare schreiben kann..

Aber das heißt dann, dass sonstige Bilder in der Bio auch nicht mehr gehen, habe ich das richtig verstanden?

Autor:  Auric [ Do 10 Mär, 2011 22:48 ]
Betreff des Beitrags:  Re: allow_url_fopen(); und Avatare

Generell hält dich k(aum )eine PHP-Einstellung davon ab, <img>-Tags Bilder in dein HTML-Dokument einzufügen. Es geht hier rein um die die per getimagesize() überprüften Bilder.

Autor:  Jack [ Do 10 Mär, 2011 23:04 ]
Betreff des Beitrags:  Re: allow_url_fopen(); und Avatare

achso *gg* Na muss ichs einfach anders lösen ;) Danke :D

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/