Forumnyheter:

Möjlighet för gäster att skriva inlägg har länge varit avstängt på grund av missbruk och spam, men i och med den nya forumprogramvaran är det nu påslaget igen. Se till att inte missbruka detta, för då kan det behöva stängas av igen.

Huvudmeny

Går inte att ladda upp bilder?

Startat av TonyTonka, 24 februari 2022 kl. 16:55:07

Föregående ämne - Nästa ämne

0 Medlemmar och 1 gäst tittar på detta ämne.

TonyTonka

Skulle ladda upp en bild och fick då felmeddelandet "Din bilaga avvisades på grund av säkerhetsinställningar och kan inte laddas upp, vänligen kontakta en administratör", hur fixar man detta?  ???
https://djtonytheking.wordpress.com/ - Min blogg
(bloggen uppdateras senast: 2022-01-30)

Äntligen tillbaka på bloggen! :D

Anders M Olsson

Jag trodde att det felet var åtgärdat sen länge? Var det inte det som Daniel testade här?
https://www.dubbningshemsidan.se/forum/index.php?topic=13281.msg110887#msg110887

Har felet kommit tillbaka?


Goliat

Vad är det för filformat, storlek? Funderar på om något sådant kan ställa till det.

TrondM

Det gikk fint å laste opp en png tidligere i dag. Men, jeg får ikke til å linke til et eksternt bilde. Da får jeg fremdeles feilmelding fra proxy.php

Daniel Hofverberg

Citat från: Anders M Olsson skrivet 24 februari 2022 kl. 18:27:38
Jag trodde att det felet var åtgärdat sen länge? Var det inte det som Daniel testade här?
https://www.dubbningshemsidan.se/forum/index.php?topic=13281.msg110887#msg110887

Har felet kommit tillbaka?
Ja, precis - det felet åtgärdade jag ju för ett bra tag sedan; så jag blir konfunderad om det plötsligt har kommit tillbaka... ???

Citat från: TrondM skrivet 24 februari 2022 kl. 20:33:03
Det gikk fint å laste opp en png tidligere i dag. Men, jeg får ikke til å linke til et eksternt bilde. Da får jeg fremdeles feilmelding fra proxy.php
Hmm, det är möjligt att det är någon annan inställning för det - jag ska undersöka saken. :)

Daniel Hofverberg

Citat från: TrondM skrivet 24 februari 2022 kl. 20:33:03
Men, jeg får ikke til å linke til et eksternt bilde. Da får jeg fremdeles feilmelding fra proxy.php
Nu har jag stängt av proxyn, så borde det åtgärda problemet. :)

Jag är dock nyfiken på vilket felmeddelande du får från proxy.php, då jag inte hittar något som tyder på att det ska orsaka problem - utan hela tanken med proxyn är bara att externa bilder ska mellanlagras på lokala servern, för att det ska gå snabbare.

Citat från: TonyTonka skrivet 24 februari 2022 kl. 16:55:07
Skulle ladda upp en bild och fick då felmeddelandet "Din bilaga avvisades på grund av säkerhetsinställningar och kan inte laddas upp, vänligen kontakta en administratör", hur fixar man detta?  ???
Inställningen som orsakade det verkar fortfarande vara avstängd, så jag förstår inte hur det felet kan ha kommit tillbaka...

Men jag har provat nu att slå på säkerhetsinställningen och sen slå av den igen, ifall det skulle vara som förra gången att den har lagrat felaktiga data. Så prova igen, och se om det fungerar bättre nu. :)

TrondM

Citat från: Daniel Hofverberg skrivet 24 februari 2022 kl. 20:53:34
Nu har jag stängt av proxyn, så borde det åtgärda problemet. :)

Ja, det fungerer også :)

Citat från: Daniel Hofverberg
Jag är dock nyfiken på vilket felmeddelande du får från proxy.php, då jag inte hittar något som tyder på att det ska orsaka problem - utan hela tanken med proxyn är bara att externa bilder ska mellanlagras på lokala servern, för att det ska gå snabbare.

Feilmeldingen jeg fikk var:
CitatParse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) or const (T_CONST) in /var/www/html/forum/proxy.php on line 118


TrondM

Hmm. Jeg lastet ned og kikket på kildekoden til smf 2.0.18.

Den aktuelle delen av koden ser slik ut:

   112 // Right, image not cached? Simply redirect, then.
   113 if ($response === false)
   114 header('Location: ' . $request, false, 301);
   115
   116 // Is the cache expired? Try to refresh it.
   117 if (!$cached || time() - $cached['time'] > (5 * 86400))
   118 {


Men, her er if-testen på linje 117, ikke 118, som feilmeldingen sier. Har du lagt til en ekstra linje et sted? Hvis du for eksempel har lagt til en linje etter 114, og glemt å avslutte med ;, så vil vel php prøve å parse if-testen som en del av den forrige kodelinjen som ikke er avsluttet.

Daniel Hofverberg

Citat från: TrondM skrivet 25 februari 2022 kl. 00:15:22
Hmm. Jeg lastet ned og kikket på kildekoden til smf 2.0.18.

Den aktuelle delen av koden ser slik ut:

   112 // Right, image not cached? Simply redirect, then.
   113 if ($response === false)
   114 header('Location: ' . $request, false, 301);
   115
   116 // Is the cache expired? Try to refresh it.
   117 if (!$cached || time() - $cached['time'] > (5 * 86400))
   118 {


Men, her er if-testen på linje 117, ikke 118, som feilmeldingen sier. Har du lagt til en ekstra linje et sted? Hvis du for eksempel har lagt til en linje etter 114, og glemt å avslutte med ;, så vil vel php prøve å parse if-testen som en del av den forrige kodelinjen som ikke er avsluttet.
Nej, jag har inte själv ändrat något i proxy.php. Men kanske är det något plugin som har ändrat i filen, och orsakat ett fel...?

Jag ska kolla om något av de mods/plugins jag har installerat rör proxy.php, och ska även se hur koden ser ut på min server. Om inte annat, så bör man väl kunna hämta en fräsch version från SMFs webbsida och ersätta versionen på min server. :)

Daniel Hofverberg

Okej, nu har jag hittat felet i proxy.php. Jag vet inte exakt hur det har hänt, men jag ser att filen har modifierats av någon process (antingen en mod/plugin eller om jag själv har varit inne utan att komma ihåg det) - och tydligen hade en extra avslutande } lagts till på raden innan, som förstås orsakade ett fel. Felet verkar ha funnits där ända sedan oktober 2020, så jag blir förvånad att ingen annan har upptäckt felet förrän nu...

Nu har jag fixat det, och slagit på bildproxyn igen - så om du försöker med externa bilder igen, så borde det fungera. :)

Fördelen med att ha bildproxy påslaget är ju att externa bilder fortfarande fungerar även om den externa servern ligger nere - och dessutom att man kan länka även till osäkra sidor (d.v.s. sidor som inte har HTTPS), utan att det orsakar fel/varningar i webbläsaren p.g.a. "Blandat innehåll/Mixed content".

TrondM

Citat från: Daniel Hofverberg skrivet 25 februari 2022 kl. 01:07:45
Okej, nu har jag hittat felet i proxy.php. Jag vet inte exakt hur det har hänt, men jag ser att filen har modifierats av någon process (antingen en mod/plugin eller om jag själv har varit inne utan att komma ihåg det) - och tydligen hade en extra avslutande } lagts till på raden innan, som förstås orsakade ett fel. Felet verkar ha funnits där ända sedan oktober 2020, så jag blir förvånad att ingen annan har upptäckt felet förrän nu...

Så bra. Da vil jeg tro at det har en sammenheng med denne koden:


   113 if ($response === false)
   114 header('Location: ' . $request, false, 301);


Dette er selvfølgelig helt gyldig kode, men jeg liker ikke at man kan utelate { og } hvis kodeblokken etter en if-setning bare er en linje. Det øker sannsynligheten for å gjøre feil hvis man endrer noe. For eksempel:


   113 if ($response === false)
   114 debug($request, $response);
   115 header('Location: ' . $request, false, 301);


Plutselig utføres header(...) alltid, men det var jo ikke meningen. Det man skulle ha skrevet er:


   113 if ($response === false)
   114 {
   115 debug($request, $response);
   116 header('Location: ' . $request, false, 301);
   117 }


Nå blir det riktig. Men, så er man ferdig med å debugge, og skal ta bort den ekstra koden, så er det fort gjort å glemme seg bort igjen, og ta bort litt for mye (eller for lite) og etterlate koden slik:


   113 if ($response === false)
   114 header('Location: ' . $request, false, 301);
   115 }


Og det er veldig lett å overse at det mangler en { på starten av uttrykket.

Det er mange språk som tillater å droppe { og } hvis det bare er en linje i kodeblokken, men jeg er som sagt ingen fan :)

Citat från: Daniel Hofverberg
Nu har jag fixat det, och slagit på bildproxyn igen - så om du försöker med externa bilder igen, så borde det fungera. :)

OK, da prøver jeg en litt tilfeldig url



Citat från: Daniel HofverbergFördelen med att ha bildproxy påslaget är ju att externa bilder fortfarande fungerar även om den externa servern ligger nere - och dessutom att man kan länka även till osäkra sidor (d.v.s. sidor som inte har HTTPS), utan att det orsakar fel/varningar i webbläsaren p.g.a. "Blandat innehåll/Mixed content".

Ja, dette er gode grunner til å bruke en proxy.

Daniel Hofverberg

Citat från: TrondM skrivet 25 februari 2022 kl. 01:48:49
Så bra. Da vil jeg tro at det har en sammenheng med denne koden:


   113 if ($response === false)
   114 header('Location: ' . $request, false, 301);

Ja, precis - på min server fanns en avslutande } på raden därpå, trots att ingen { hade inletts.

Men hur det kunnat hända vet jag inte - jag har som sagt inget minne av att jag har varit inne i filen alls, så mest troligt är det någon modifiering/plugin som har redigerat filen på ett galet sätt. Plugins till SMF fungerar nämligen så att det är XML-filer som innehåller instruktioner om vilka filer som ska röras, vilket kodstycke som ska letas efter och vilken kod som antingen ska ersätta det angivna kodstycket eller läggas direkt före eller efter. Det är med andra ord lätt att något går snett om inte plugin-skaparen har haft tungan rätt i mun...

Citat från: TrondM skrivet 25 februari 2022 kl. 01:48:49
Det er mange språk som tillater å droppe { og } hvis det bare er en linje i kodeblokken, men jeg er som sagt ingen fan :)
Jag tycker faktiskt om att kunna hoppa över { och } om det bara är en rad, då det är smidigt och praktiskt när man ska göra enkla saker - och koden blir mindre grötig än med en massa { } på separata rader bara för väldigt enkla ingrepp.

Men då gäller det att vara noggrann med att indragen (inrykken) stämmer, för annars blir det som du säger en mardröm att felsöka...

Anders M Olsson

Jaha, så var vi där igen.
CitatStarlog1.jpg Det uppstod ett problem vid uppladdningen av Starlog1.jpg.
Din bilaga avvisades under säkerhetskontrollen och kunde inte laddas upp. Kontakta en administratör om du behöver hjälp. 0.1 MB
Efter att jag zippat bilden gick det bra att ladda upp den, men jpg-filen togs inte emot i sin ursprungliga form.

Daniel Hofverberg

Citat från: Anders M Olsson skrivet 16 september 2022 kl. 15:23:59Jaha, så var vi där igen.Efter att jag zippat bilden gick det bra att ladda upp den, men jpg-filen togs inte emot i sin ursprungliga form.
Det låter märkligt, jag kollar upp det under kvällen. :)

Daniel Hofverberg

Citat från: Anders M Olsson skrivet 16 september 2022 kl. 15:23:59Jaha, så var vi där igen.Efter att jag zippat bilden gick det bra att ladda upp den, men jpg-filen togs inte emot i sin ursprungliga form.
Jag har kollat upp saken, men den här gången hittar jag faktiskt ingen logisk förklaring. Jag lyckas inte heller att ladda upp bilden ifråga, och jag har testat att både slå på och stänga av inställningen "Utför omfattande säkerhetskontroller av uppladdade bildbilagor", men för just den här bilden verkar det inte göra någon skillnad. Med inställningen påslagen avvisas även bilder som har godkänts, och bilder som du postat tidigare går inte att ladda upp, men just den här bilden tycks inte fungera även med funktionen avstängd. :(

Jag har lite svårt att förstå varför, då ju en miniatyr av bilden visas korrekt när man försöker bifoga den; just innan man klickar "Ladda upp" - så uppenbarligen tycks den kännas igen, men avvisas ändå när den är färdiguppladdad. Jag får nog lov att fråga utvecklingsteamet om det här, eller om någon annan har någon erfarenhet på SMFs supportforum. :)