Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Miroslav Šilhavý

Stran: 1 ... 18 19 [20] 21 22 ... 206
286
S bezpečností se dá jít mnohem, mnohem dál. FPM běžící pod odděleným uživatelem je IMO základ. Nicméně, společný uživatel je pak na apache / nginx, takže pokud chcete mít oddělená práva i pro čtení statických souborů, stojí za to mít i oddělené instance pro webserver, do kterých provoz rozhazuje reverzní proxy. Je to výhodné i pro činění konfiguračních změn. Např. SSL, komprese, ... jsou jen na instanci reverzní proxy, naopak moduly v apachi (nginxu) se pak nemusí povolovat všem, ale jen uživatelům, kteří je potřebují. Lze nastavit různou prioritu pro instance (může se hodit, aby např. vývojový web měl méně prostředků, než produkční).

Pak je také dobré nastavit umask, aby others neměli žádná práva. To pomůže taky hodně moc, zejména, pokud to vychází už od home adresáře. V takovém případě se do toho celého ještě přidává "složitost" s nastavením ACL - aby apache a fpm mohly do adresáře uživatele a navzájem. Ani apache, ani FPM nepotřebují write oprávnění vyjma tempů, uploadu a sessions adresářů. V celém webu (včetně tempů, uploadů, sessions) je dobré nastavit přímo noexec.

Podle mě je to ale dost komplikované na to, aby nešel napsat do diskuse nějaký návod. Bez pochopení, jak to funguje, se stejně nedá bezpečnost udržovat a kontrolovat. Doporučil bych, pokud s tím nechcete ztratit opravdu hodně času učením se (což je samozřejmě taky dobrá cesta), vzít nějaký bezplatný či placený panel pro správu hostingů. Není tam vyřešeno 100 % toho, co se dá, ale většinu mají zvládnutou.

288
Vývoj / Re:PHP výběr obrázku na základě data vytvoření
« kdy: 31. 03. 2021, 21:36:44 »
Kód: [Vybrat]
$files = scandir('directory', SCANDIR_SORT_DESCENDING);
$newest_file = $files[0];

Není zač.

SCANDIR_SORT_DESCENDING to setřídí podle abecedy.

Hmm, když to zkombinuje s https://www.php.net/filemtime, tak to bude dělat to, co chce.

A pokud  ty soubory neodmazává (což nemáme v zadání vyjasněno), tak mu klekne PHP na timeoutech než se načte adresář, a než to ty statisíce souborů setřídí. Nehledě na počet IO operací. Smyčka v PHP a v ní filemtime je něco, co by mi nahánělo hrůzu, brr.

Pokud není potřeba brát exif ale stačí datum ze souboru (já to nedoporučuju, vím, jak je to ošidné a jak je nesnadné opravdu zajistit, že zůstane neměnné), pak dává smysl použít obyčejné ls.

289
Vývoj / Re:PHP výběr obrázku na základě data vytvoření
« kdy: 31. 03. 2021, 20:35:00 »
Kód: [Vybrat]
$files = scandir('directory', SCANDIR_SORT_DESCENDING);
$newest_file = $files[0];

Není zač.

SCANDIR_SORT_DESCENDING to setřídí podle abecedy.

290
Vývoj / Re:PHP výběr obrázku na základě data vytvoření
« kdy: 31. 03. 2021, 17:25:56 »
Tím získáte čas zapsání souboru na disk, ale to vůbec nevíte, jestli je čas vzniku fotografie. To se ukrývá v exifu.

A vy vite ze ty soubory co tazatel chce zpracovavat maji exif?

Ve skutečnosti nevíme vůbec nic. Ani to, kolik souborů je / bude v adresáři po pár dnech. Víme, že každých 15 sekund se tam ukládá obrázek, ale nevíme ani to, jestli a jak je zajištěno, aby to nezačalo (nepokoušelo se) číst ze souboru, který je teprve zapisován atd. atd. atd.

291
Vývoj / Re:PHP výběr obrázku na základě data vytvoření
« kdy: 31. 03. 2021, 15:11:09 »
pokud jde o prochazeni mtime nad 6000 soubory, tak jsem ted vyzkousel a na beznem SSD s ext4 to cele trva 0.06s
Kód: [Vybrat]
foreach (scandir($dir) as $filename) echo "$filename " . filemtime($filename) ."\n";
coz mi neprijde jako cas na to uvarit si kafe...

Kód: [Vybrat]
$ time php dir.php >/dev/null

real 0m0.060s
user 0m0.025s
sys 0m0.035s

Tím získáte čas zapsání souboru na disk, ale to vůbec nevíte, jestli je čas vzniku fotografie. To se ukrývá v exifu.

292
Vývoj / Re:PHP výběr obrázku na základě data vytvoření
« kdy: 31. 03. 2021, 14:43:31 »
...

Souhlas, těch řešení se nabízí víc.
Já bych třeba volil (osobní preference) zpracovávat to jednou za čas a mít v DB i uložené informace vyseparované z EXIFU. Task by pak neprocházel 6000 obrázků naráz, ale jen pár kousků, co přibyly. Pokud nebudou mít každý 1,5 MiB, jako jsem si zkusil já, tak to bude zase kratší.

Ono tuhle myšlenku můžeme rozvíjet do nekonečna, protože nemáme další informace. K zamyšlení taky je, jak bude vypadat adresář, pokud do něj jen přibývají obrázky a neubývají. Pak už bude jen samotné vylistování adresáře docela zdržující.

Pokud je možnost přesouvat na disku, pak bych nějakým taskem obrázky přejmenoval a do jména souboru dal informaci o času vzniku a rozhodil je do stromu podle dnů, případně ještě o level víc, podle hodiny.

293
Vývoj / Re:PHP výběr obrázku na základě data vytvoření
« kdy: 31. 03. 2021, 14:17:26 »
je celý dotaz o ničem a špatně formulovaný

::)  :o Jo tak  ;D

6000 obrázků ... zpracovalo za 2:15
;D  :P   ;D
Tak dobře no ;D Vyhrál jste  ;D

Když se tam přidá stránka s odpočtem, kdy bude možné obrázek zobrazit, tak bezva.
A není trochu nevýhoda, že za ty dvě minuty tam přibude pár dalších obrázků? ;D

Aha, tak to jsem snad ani nepředpokládal, že by někdo chtěl on-the-fly dělat 6000 operací, ať už nad EXIFEM, nebo nad filesystémem. To je sebevražda. Tímto způsobem lze pouze získat data o tom, kdy vznikl jaký obrázek a pak s tím pracovat. (Uznávám, tady jsem naopak domyslel něco já)

294
Vývoj / Re:PHP výběr obrázku na základě data vytvoření
« kdy: 31. 03. 2021, 14:01:34 »
Takže opět obhajujete neobhajitelné.

Nikoliv, pouze se snažím do zadání nedomýšlet to, co v něm není. Je tam hovořeno pouze o načítání.
Pokud je možno s nimi pracovat (přejmenovávat, přesunovat), je celý dotaz o ničem a špatně formulovaný.

Kód: [Vybrat]
exiftool -d "%Y-%m-%d %H:%M:%S" -j -iptc:all *
navrátí zformulovaný JSON se vším, co je potřeba. Datum, čas, jméno souboru a další. S JSON se pak můžete patlat v PHP, nebo na to využít nějaký další nástroj - třeba tu DB. Hotovo za dvacet minut, bez jediného ojebu v PHP.

Teď jsem si to zkoušel, 6000 jpegů (velkých - v průměru 1,5 MB) mi to na rotačních discích zpracovalo za 2:15.
U malých obrázků, případně na SSD (nebo ramdisku) to bude samozřejmě o poznání rychlejší.

295
Vývoj / Re:PHP výběr obrázku na základě data vytvoření
« kdy: 31. 03. 2021, 13:38:51 »
...

Já neřekl, ukládat data do DB, ale využít její schopnosti pracovat s JSON a datetime datovými typy.
Něco ve smyslu SELECT ... FROM (VALUES (json)). DB jsou na takové operace vybavené, zatímco v PHP to bude smyčka a slepenec operací.

Pokud lze obrázky po zpracování mazat nebo přesouvat, je samozřejmě nejlepší to, co píšete. To ovšem v zadání nečtu.

296
Vývoj / Re:PHP výběr obrázku na základě data vytvoření
« kdy: 31. 03. 2021, 10:21:15 »
Asi by bylo víc na místě brát datum z IPTC / EXIF, než z filesystému. Tam stačí provést nějakou operaci, datum se cinkne, a celý mechanismus půjde do pryč. S IPTC / EXIF se z PHP pracovat dá.

Jiná věc je, že pročesávat 6000 fotek bude relativně výkonově náročné.

Osobně bych použil některý z nástrojů v příkazové řádce, které umějí EXIF / IPTC načíst a navrátit třeba jako json. V něm se pak dá dobře vyselectovat např. pajpou do databáze (postgresql). Bude to určitě rychlejší a efektivnější i spolehlivější, než to patlat v PHP.

297
Sítě / Re:VoIP nasazení v menší firmě
« kdy: 26. 03. 2021, 09:50:45 »
Myslím, že to bude jednoduché. TMO, stejně jako každý další operátor, vyžaduje, aby telefony byly na zvláštním switchi od LAN a vůbec se nedotýkaly firewallu nebo čehokoliv jiného. Případně s nimi lze domluvit, že to bude VLAN v rámci existujících switchů, ale ani to nemají rádi. Musí pak řešit problémy, které mohou vznikat mimo infrastrukturu, kterou mají pod palcem.

298
Sítě / Re:T-Mobile - slovenská GeoIP
« kdy: 22. 03. 2021, 19:19:01 »
nezákonně? ale prosím vás.

mimochodem, nikdo (a žádný zákon) mě nenutí poskytovat internetové služby (web, apod.) ve všech zemích světa. naopak, je na mě jako provozovateli, kde a jaké služby budu poskytovat.

Nemusíte nabízet službu do všech zemí, ale pokud nespadáte do vyjmenovaných výjimek, tak nesmíte na úrovni přístupu k webu blokovat: https://www.mpo.cz/cz/zahranicni-obchod/podnikani-v-eu/vnitrni-trh-eu/narizeni-o-zakazu-geoblockingu-v-otazkach-a-odpovedich--241412/#_Toc507594779

299
Sítě / Re:T-Mobile - slovenská GeoIP
« kdy: 22. 03. 2021, 17:16:57 »
To může napsat jen někdo, kdo tráví tolik času diskutovánhím na Rootu, že se k řešení problémů už nedostane. Já chápu, jak moc je blokování dle lokace fujky, ale ač je to technicky nepěkné, chrání mi to pět Teamspeak serverů před shazováním minimálně jednou denně krátkým DDoS. A funguje to na sto procent. Češi si tohle tolik nedovolí, po nich by se dalo snadno jít.

Do prvního Čecha, který začne řešit, že nezákonně filtrujete podle země.

300
Sítě / Re:T-Mobile - slovenská GeoIP
« kdy: 22. 03. 2021, 13:29:22 »
Podle mě je potřeba soustavně tlačit na dodržování zákazu blokování dle lokace. Pak může být každému jedno z jaké země administrativně pochází jeho adresa. Přestanou pak taky dávat smysl různé VPN služby, které vznikly jen kvůli obcházení nesmyslných blokací. Řešit, jestli má ISP adresu zapsanou pod jiným státem, zejména když jsou ISP mezinárodní, je marná a zbytečná práce.

Stran: 1 ... 18 19 [20] 21 22 ... 206