Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #21921 > unrolled thread

Quali librerie installare per visualizzare immagini?

Started byGabrieleMax <gabriele1NOSPAM@hotmail.com>
First post2018-03-20 19:01 +0100
Last post2018-03-21 08:53 -0700
Articles 15 — 4 participants

Back to article view | Back to it.comp.www.php


Contents

  Quali librerie installare per visualizzare immagini? GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-03-20 19:01 +0100
    Re: Quali librerie installare per visualizzare immagini? GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-03-20 20:35 +0100
      Re: Quali librerie installare per visualizzare immagini? GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-03-20 20:41 +0100
        Re: Quali librerie installare per visualizzare immagini? fmassei@gmail.com - 2018-03-20 13:34 -0700
          Re: Quali librerie installare per visualizzare immagini? GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-03-20 21:55 +0100
            Re: Quali librerie installare per visualizzare immagini? fmassei@gmail.com - 2018-03-20 14:01 -0700
              Re: Quali librerie installare per visualizzare immagini? GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-03-20 22:19 +0100
            Re: Quali librerie installare per visualizzare immagini? Alessandro Pellizzari <shuriken@amiran.it> - 2018-03-21 11:14 +0000
              Re: Quali librerie installare per visualizzare immagini? GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-03-21 20:43 +0100
                Re: Quali librerie installare per visualizzare immagini? GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-03-21 21:29 +0100
        Re: Quali librerie installare per visualizzare immagini? Leonardo Serni <lserni@gmail.com> - 2018-03-20 21:46 +0100
          Re: Quali librerie installare per visualizzare immagini? fmassei@gmail.com - 2018-03-20 13:57 -0700
            Re: Quali librerie installare per visualizzare immagini? GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-03-20 22:10 +0100
            Re: Quali librerie installare per visualizzare immagini? Leonardo Serni <lserni@gmail.com> - 2018-03-20 22:46 +0100
              Re: Quali librerie installare per visualizzare immagini? fmassei@gmail.com - 2018-03-21 08:53 -0700

#21921 — Quali librerie installare per visualizzare immagini?

FromGabrieleMax <gabriele1NOSPAM@hotmail.com>
Date2018-03-20 19:01 +0100
SubjectQuali librerie installare per visualizzare immagini?
Message-ID<p8riac$482$1@virtdiesel.mng.cu.mi.it>
Salve,

devo visualizzare le immagini di una directory su un server Debian ma da 
quel che leggo in rete vanno installate le apposite librerie, voi cosa 
installate di solito?

Saluti.
GabrieleMax

[toc] | [next] | [standalone]


#21922

FromGabrieleMax <gabriele1NOSPAM@hotmail.com>
Date2018-03-20 20:35 +0100
Message-ID<p8rnp6$7ki$1@virtdiesel.mng.cu.mi.it>
In reply to#21921
> devo visualizzare le immagini di una directory su un server Debian ma da 
> quel che leggo in rete vanno installate le apposite librerie, voi cosa 
> installate di solito?

Ho installato php-imagick, php-gd, libjpgalleg4.4 e libjpeg-progs ma 
probabilmente sbagliavo qualcosa nel codice perchè con lo script che 
usavo nonostante le librerie aggiunte non vedevo nulla mentre con quello 
che vedete di seguito si, magari non era nemmeno necessario installare 
nulla...

<?php
     $files = glob("images/*.*");
     for ($i=0; $i<count($files); $i++)
      {
        $image = $files[$i];
        $supported_file = array(
                'gif',
                'jpg',
                'jpeg',
                'png'
         );

         $ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
         if (in_array($ext, $supported_file)) {
            echo basename($image)."<br />"; // show only image name if 
you want to show full path then use this code // echo $image."<br />";
             echo '<img src="'.$image .'" alt="Random image" />'."<br 
/><br />";
            } else {
                continue;
            }
          }
       ?>

Saluti!
GabrieleMax

[toc] | [prev] | [next] | [standalone]


#21923

FromGabrieleMax <gabriele1NOSPAM@hotmail.com>
Date2018-03-20 20:41 +0100
Message-ID<p8ro50$7vu$1@virtdiesel.mng.cu.mi.it>
In reply to#21922
> Ho installato php-imagick, php-gd, libjpgalleg4.4 e libjpeg-progs ma 
> probabilmente sbagliavo qualcosa nel codice perchè con lo script che 
> usavo nonostante le librerie aggiunte non vedevo nulla mentre con quello 
> che vedete di seguito si, magari non era nemmeno necessario installare 
> nulla...

Probabilmente c'era anche qualcosa sui permessi che non andava, ho dato 
al file +777 e tutto è partito.

Saluti!
GabrieleMax

[toc] | [prev] | [next] | [standalone]


#21924

Fromfmassei@gmail.com
Date2018-03-20 13:34 -0700
Message-ID<a19790f8-7e84-47ac-9dbf-35345b530de1@googlegroups.com>
In reply to#21923
On Tuesday, March 20, 2018 at 3:41:21 PM UTC-4, GabrieleMax wrote:
> Probabilmente c'era anche qualcosa sui permessi che non andava, ho dato 
> al file +777 e tutto è partito.
>

OK, ma magari sistema le ownership a modo, sai com'è...
In 0777 su un sistema ci dev'essere al massino solo la /tmp.

Ciao!

[toc] | [prev] | [next] | [standalone]


#21926

FromGabrieleMax <gabriele1NOSPAM@hotmail.com>
Date2018-03-20 21:55 +0100
Message-ID<p8rsgd$apu$1@virtdiesel.mng.cu.mi.it>
In reply to#21924
> OK, ma magari sistema le ownership a modo, sai com'è...
> In 0777 su un sistema ci dev'essere al massino solo la /tmp.

Il 777 è prima di sbattere la testa nel muro! :D

Ho capito come risolvere:

ln -s /home/ipcam/cam07/Snapshot_alarm /var/www/html/images/cam07

Senza aver modificato i permessi ma avendo "semplicemente" symlinkato 
quello che mi interessava dentro html ho risolto il problema.

Altra nota dolente, una ipcam non mi crea tutti i giorni le immagini 
nella stessa directory ma ogni giorno mi crea una directory diversa 
ovvero /home/ipcam/cam08/20180320 quindi a questo punto dovrei 
symlinkare direttamente /home/ipcam/cam08 e poi con uno script php 
dovrei andare dentro ogni directory...

> Ciao!

Saluti!
GabrieleMax

[toc] | [prev] | [next] | [standalone]


#21928

Fromfmassei@gmail.com
Date2018-03-20 14:01 -0700
Message-ID<638dc1c4-9dce-4bf9-a176-081e0d11267a@googlegroups.com>
In reply to#21926
On Tuesday, March 20, 2018 at 4:55:42 PM UTC-4, GabrieleMax wrote:
> > OK, ma magari sistema le ownership a modo, sai com'è...
> > In 0777 su un sistema ci dev'essere al massino solo la /tmp.
> 
> Il 777 è prima di sbattere la testa nel muro! :D
> 
> Ho capito come risolvere:
> 
> ln -s /home/ipcam/cam07/Snapshot_alarm /var/www/html/images/cam07
> 
> Senza aver modificato i permessi ma avendo "semplicemente" symlinkato 
> quello che mi interessava dentro html ho risolto il problema.
> 
> Altra nota dolente, una ipcam non mi crea tutti i giorni le immagini 
> nella stessa directory ma ogni giorno mi crea una directory diversa 
> ovvero /home/ipcam/cam08/20180320 quindi a questo punto dovrei 
> symlinkare direttamente /home/ipcam/cam08 e poi con uno script php 
> dovrei andare dentro ogni directory...
> 

Di soluzioni per questo ce ne son tante, da inotify, ai cron (per OTS),
poi probabilmente ipcam fornisce degli hook.
L'importante è che l'hai cambiata ;)

Ciao!

[toc] | [prev] | [next] | [standalone]


#21930

FromGabrieleMax <gabriele1NOSPAM@hotmail.com>
Date2018-03-20 22:19 +0100
Message-ID<p8rtsi$blc$1@virtdiesel.mng.cu.mi.it>
In reply to#21928
Approfitto per ringraziare te e tutti gli altri che mi hanno rispoto! :D

> Di soluzioni per questo ce ne son tante, da inotify, ai cron (per OTS),
> poi probabilmente ipcam fornisce degli hook.

Metabolizzerò quanto hai scritto domani! :)

> L'importante è che l'hai cambiata ;)

Per ora sono in ambito lan/test quindi ci sarà tempo per migliorare ed 
ottimizzare!

> Ciao!

Saluti!
GabrieleMax

[toc] | [prev] | [next] | [standalone]


#21932

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2018-03-21 11:14 +0000
Message-ID<fhet4aF404U1@mid.individual.net>
In reply to#21926
On 20/03/2018 20:55, GabrieleMax wrote:

> Ho capito come risolvere:
> 
> ln -s /home/ipcam/cam07/Snapshot_alarm /var/www/html/images/cam07
> 
> Senza aver modificato i permessi ma avendo "semplicemente" symlinkato 
> quello che mi interessava dentro html ho risolto il problema.

Questo probabilmente significa che c'è una directory nel path 
/home/ipcam/cam07 che non ha il bit x

Hai provato con questo?

$files = glob("/home/ipcam/cam07/Snapshot_alarm/*.*");

> Altra nota dolente, una ipcam non mi crea tutti i giorni le immagini 
> nella stessa directory ma ogni giorno mi crea una directory diversa 
> ovvero /home/ipcam/cam08/20180320 quindi a questo punto dovrei 
> symlinkare direttamente /home/ipcam/cam08 e poi con uno script php 
> dovrei andare dentro ogni directory...

Se funziona quello di cui sopra puoi sempre parametrizzare il path:

$files = glob("/home/ipcam/cam08/".date('Ymd')."/*.*");

Bye.

[toc] | [prev] | [next] | [standalone]


#21934

FromGabrieleMax <gabriele1NOSPAM@hotmail.com>
Date2018-03-21 20:43 +0100
Message-ID<p8ucl4$v39$1@virtdiesel.mng.cu.mi.it>
In reply to#21932
> Questo probabilmente significa che c'è una directory nel path 
> /home/ipcam/cam07 che non ha il bit x
> 
> Hai provato con questo?
> 
> $files = glob("/home/ipcam/cam07/Snapshot_alarm/*.*");

Lo script già contempla quello che mi hai indicato, se inserisco il path 
della /home/... non mi fa vedere nulla mentre puntanto al symlink in 
html/images/cam07/ funziona in maniera corretta:

$files = glob("images/cam07/*.*");

> Se funziona quello di cui sopra puoi sempre parametrizzare il path:
> 
> $files = glob("/home/ipcam/cam08/".date('Ymd')."/*.*");

Ok, dopo lo provo!

> Bye.

Saluti!
GabrieleMax

[toc] | [prev] | [next] | [standalone]


#21935

FromGabrieleMax <gabriele1NOSPAM@hotmail.com>
Date2018-03-21 21:29 +0100
Message-ID<p8ufak$178$1@virtdiesel.mng.cu.mi.it>
In reply to#21934
>> $files = glob("/home/ipcam/cam08/".date('Ymd')."/*.*");
> 
> Ok, dopo lo provo!

root@Server01:/var/www/html/images/cam09# ls
20180307  20180310  20180312  20180314  20180316  20180318  20180320
20180309  20180311  20180313  20180315  20180317  20180319  20180321

"Purtroppo" questa ipcam mi crea nella stessa directory anche i filmati 
(*.avi) ed ora dovrei in qualche modo renderli disponibili alla visione, 
potrei in qualche modo linkare i file in una pagina ad hoc anche perchè 
caricare tutte le preview sarebbe troppo pesante!

Saluti.
GabrieleMax

[toc] | [prev] | [next] | [standalone]


#21925

FromLeonardo Serni <lserni@gmail.com>
Date2018-03-20 21:46 +0100
Message-ID<l7s2bdln8ttttnnngovbda0h8heqmihjir@L.Serni>
In reply to#21923
On Tue, 20 Mar 2018 20:41:20 +0100, GabrieleMax <gabriele1NOSPAM@hotmail.com>
wrote:

>> Ho installato php-imagick, php-gd, libjpgalleg4.4 e libjpeg-progs ma 
>> probabilmente sbagliavo qualcosa nel codice perchè con lo script che 
>> usavo nonostante le librerie aggiunte non vedevo nulla mentre con quello 
>> che vedete di seguito si, magari non era nemmeno necessario installare 
>> nulla...

>Probabilmente c'era anche qualcosa sui permessi che non andava, ho dato 
>al file +777 e tutto è partito.

Diciamo che se uno script PHP non parte con permessi 640, c'è qualche cosa
di notevole nella configurazione.

7 = 4 + 2 + 1

  4: lettura
  2: scrittura
  1: esecuzione (come codice oggetto, ma PHP al contrario è interpretato
     e dell'1 non sa che farsene).

Normalmente l'utente proprietario deve poterci leggere e scrivere dato che
aggiornerà il sito. 4+2 = 6. Il gruppo gestori (il web server) lo legge, e
si accontenta... 4. Agli altri, a chi non è né proprietario né gestore, io
tenderei a dare zero. 7 è decisamente troppo per degli sconosciuti :-D

Per le directory invece, l'ultimo 1 è il permesso di leggerle. Dove il web
server gira con permessi di gruppo, 750 e via andare.

Se il server riesce a impersonare l'utente (ha i suoi pro e i suoi contro)
600 per i file e 700 per le directory sono la su' morte.

Poi sì: ovviamente, dare 777 a tappeto sicuramente funziona. È un po' come
lasciare la porta di casa aperta - non devi più ricordarti se il mazzo con
le chiavi buone ce l'hai tu o ce l'ha la tu' moglie, e, se magari telefona
il corriere "Ho un pacco ma non risponde nessuno al citofono", puoi dirgli
"Non c'è nessuno in casa - ma non si preoccupi: la porta è aperta, entri e
lasci il pacco nell'ingresso". È sicuramente una gran bella comodità.

Ci sono però occasioni in cui anche questa ha i suoi "contro".

Leonardo

-- 

Ya se escucha sonar la metralla, ya el clarín toca fuego graneado:
ahora o nunca, muchachos arriba a acabar a estos hijos del diablo.

[toc] | [prev] | [next] | [standalone]


#21927

Fromfmassei@gmail.com
Date2018-03-20 13:57 -0700
Message-ID<838cfff6-74e9-46ca-a3c3-eba404f64f01@googlegroups.com>
In reply to#21925
On Tuesday, March 20, 2018 at 4:46:14 PM UTC-4, Leonardo Serni wrote:
> On Tue, 20 Mar 2018 20:41:20 +0100, GabrieleMax <gabriele1NOSPAM@hotmail.com>
> wrote:
> 
> >> Ho installato php-imagick, php-gd, libjpgalleg4.4 e libjpeg-progs ma 
> >> probabilmente sbagliavo qualcosa nel codice perchè con lo script che 
> >> usavo nonostante le librerie aggiunte non vedevo nulla mentre con quello 
> >> che vedete di seguito si, magari non era nemmeno necessario installare 
> >> nulla...
> 
> >Probabilmente c'era anche qualcosa sui permessi che non andava, ho dato 
> >al file +777 e tutto è partito.
> 
> Diciamo che se uno script PHP non parte con permessi 640, c'è qualche cosa
> di notevole nella configurazione.
> 

LOL.
O magari ci sono più sviluppatori sullo stesso gruppo.
O magari c'è solo l'utente git, e apache sta nello stesso gruppo.
O magari qualche cartella dev'essere modificabile dal WS.
O magari qualche configurazione dev'essere modificabile da roba in cron.
O magari qualche file non dev'essere leggibile dal WS ma solo dal sistema.

Sai com'è, magari ognuno ha il caso suo.

Mettere i permessi a cacchio senza pensarci nemmeno quei dieci minuti è
il primo passo verso un secchio di grattacapi.

Ciao!

[toc] | [prev] | [next] | [standalone]


#21929

FromGabrieleMax <gabriele1NOSPAM@hotmail.com>
Date2018-03-20 22:10 +0100
Message-ID<p8rtcg$bc5$1@virtdiesel.mng.cu.mi.it>
In reply to#21927
> Mettere i permessi a cacchio senza pensarci nemmeno quei dieci minuti è
> il primo passo verso un secchio di grattacapi.

Il 777 è un passo prima dallo sbattere la testa nel muro non è la prassi 
ed imho non lo deve essere e non lo sarà mai, l'ho già scritto 
nell'altro post! :D

Ho risolto il "problema" symlinkando quello che mi interessa mostrare in 
/var/www/html/images/cam0X

> Ciao!

Saluti!
GabrieleMax

[toc] | [prev] | [next] | [standalone]


#21931

FromLeonardo Serni <lserni@gmail.com>
Date2018-03-20 22:46 +0100
Message-ID<imu2bdtnjpf9nsi7ecmjlrp024ri4feagf@L.Serni>
In reply to#21927
On Tue, 20 Mar 2018 13:57:08 -0700 (PDT), fmassei@gmail.com wrote:

>> >> Ho installato php-imagick, php-gd, libjpgalleg4.4 e libjpeg-progs ma 
>> >> probabilmente sbagliavo qualcosa nel codice perchè con lo script che 
>> >> usavo nonostante le librerie aggiunte non vedevo nulla mentre con quello 
>> >> che vedete di seguito si, magari non era nemmeno necessario installare 
>> >> nulla...

>> >Probabilmente c'era anche qualcosa sui permessi che non andava, ho dato 
>> >al file +777 e tutto è partito.

>> Diciamo che se uno script PHP non parte con permessi 640, c'è qualche cosa
>> di notevole nella configurazione.

>LOL.
>O magari ci sono più sviluppatori sullo stesso gruppo.

Ma mica svilupperanno sulla macchina di produzione. Per tenere traccia di
chi fa cosa c'è git; per tenere traccia di cosa va dove ci sono i log del
server ftp o simile. Entrambi funzionano molto meglio dell'ownership.

(Non sto cercando la rissa! In fondo al msg, ci metterò un disclaimer...)

>O magari c'è solo l'utente git, e apache sta nello stesso gruppo.

Credo che questo caso rientri fra quelli notevoli.

>O magari qualche cartella dev'essere modificabile dal WS.

Okay, ma gli script PHP non sono mica cartelle.

E - di solito - quelle cartelle modificabili dal WS non hanno possibilità
di eseguire script PHP, per ridurre il rischio di exploit remoti.

>O magari qualche configurazione dev'essere modificabile da roba in cron.

Anche questo è possibile, ma azzardo il suggerimento di usare formati che
pur essendo facilmente leggibili da PHP (tipo JSON o XML), non abbiano un
significato speciale per il server web.

>O magari qualche file non dev'essere leggibile dal WS ma solo dal sistema.

E se non dev'essere leggibile dal WS, cosa ci fa, nella webroot? (È ovvio
che altrove gli script non saranno interpretati dal WS, sicché di avere i
permessi per il WS gli importerà poco).

>Sai com'è, magari ognuno ha il caso suo.

Ne sono sicuro, ma gli esempi che mi fai (ed anche altri che mi ero fatto
da solo) nascono tutti (almeno mi sembra!) da soluzioni affrettate a vari
problemi.

Tipo, devo mettere un oggetto PHP complicato in una configurazione, e non
mi va di serializzarlo e così lo metto in un file PHP. Ma è roba che ha a
che fare con il sito e allora la metto nella webroot. Ma deve pure essere
riservata e allora la metto tipo root:nobody 600 o che so io.

Torno a dire che sono casi abbastanza notevoli.

Il controesempio più classico a quello che dicevo - e cioè uno script che
ha BISOGNO di avere permessi più permissivi di 640, ovvero almeno 660 - è
quello di una webapp con un wizard di configurazione, che crea lui stesso
il file config.php necessario e lo salva.

Di app così ce n'è un sacco in giro. E in genere questi wizard sono - per
l'appunto - una vulnerabilità, perché succede di scordarseli attivi sulla
macchina di produzione; tant'è che ci sono decinaia di script automatici,
che bracano per vedere se i file di wizardry sono accessibili.

Una soluzione più sicura sarebbe che il wizard fa tutta la configurazione
e poi ti fa scaricare il file config, che uploaderai via FTP. Se anche ti
scordi il wizard sul server, un attaccante al massimo può usarlo per fare
la configurazione di un server di cui abbia la password.

Poi, disclaimer: io predico bene e razzolo malissimo; sai quanti wizard e
script garibaldini ho sviluppato e lascio tuttora in giro? ...però almeno
a parole provo a darmi un certo tono... consentimi questa vanità :-D

E naturalmente, i casi notevoli CI SONO. Ci può essere senz'altro una, ma
anche mille ragioni validissime per avere uno script magari 6777. Io dico
solo che sarà una ragione significativa, non un "così lo script gira".

>Mettere i permessi a cacchio senza pensarci nemmeno quei dieci minuti è
>il primo passo verso un secchio di grattacapi.

Beh, io dicevo sostanzialmente questo... mi spiace se è parso che volessi
suggerire l'opposto.

Leonardo

-- 

Ya se escucha sonar la metralla, ya el clarín toca fuego graneado:
ahora o nunca, muchachos arriba a acabar a estos hijos del diablo.

[toc] | [prev] | [next] | [standalone]


#21933

Fromfmassei@gmail.com
Date2018-03-21 08:53 -0700
Message-ID<df0f827f-48ee-4a21-ae01-b38fb64d4aef@googlegroups.com>
In reply to#21931
On Tuesday, March 20, 2018 at 5:46:37 PM UTC-4, Leonardo Serni wrote:
> On Tue, 20 Mar 2018 13:57:08 -0700 (PDT), fmassei@gmail.com wrote:
> >Mettere i permessi a cacchio senza pensarci nemmeno quei dieci minuti è
> >il primo passo verso un secchio di grattacapi.
> 
> Beh, io dicevo sostanzialmente questo... mi spiace se è parso che volessi
> suggerire l'opposto.
> 

A me spiace essere sembrato scostante o scortese.
Mi viene semplicemente un po' il prurito quando leggo soluzioni one-fits-all,
tutto qui ;)


Ciao!

[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.www.php


csiph-web