Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #21921 > unrolled thread
| Started by | GabrieleMax <gabriele1NOSPAM@hotmail.com> |
|---|---|
| First post | 2018-03-20 19:01 +0100 |
| Last post | 2018-03-21 08:53 -0700 |
| Articles | 15 — 4 participants |
Back to article view | Back to it.comp.www.php
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
| From | GabrieleMax <gabriele1NOSPAM@hotmail.com> |
|---|---|
| Date | 2018-03-20 19:01 +0100 |
| Subject | Quali 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]
| From | GabrieleMax <gabriele1NOSPAM@hotmail.com> |
|---|---|
| Date | 2018-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]
| From | GabrieleMax <gabriele1NOSPAM@hotmail.com> |
|---|---|
| Date | 2018-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]
| From | fmassei@gmail.com |
|---|---|
| Date | 2018-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]
| From | GabrieleMax <gabriele1NOSPAM@hotmail.com> |
|---|---|
| Date | 2018-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]
| From | fmassei@gmail.com |
|---|---|
| Date | 2018-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]
| From | GabrieleMax <gabriele1NOSPAM@hotmail.com> |
|---|---|
| Date | 2018-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]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2018-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]
| From | GabrieleMax <gabriele1NOSPAM@hotmail.com> |
|---|---|
| Date | 2018-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]
| From | GabrieleMax <gabriele1NOSPAM@hotmail.com> |
|---|---|
| Date | 2018-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]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2018-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]
| From | fmassei@gmail.com |
|---|---|
| Date | 2018-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]
| From | GabrieleMax <gabriele1NOSPAM@hotmail.com> |
|---|---|
| Date | 2018-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]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2018-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]
| From | fmassei@gmail.com |
|---|---|
| Date | 2018-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