Ako OneDrive chráni obrázky v prehliadači?

Ako OneDrive chráni obrázky v prehliadači?
« kdy: 21. 08. 2024, 16:19:20 »
Ked si otvorim fotky v one drive cez browser a zobrazim si obrazok, tak ked kliknem na kontextove menu a ulozim obrazok tak sa mi neulozi. Ak si ho otvorim na novej karte, zobrazi sa mi json a access denied. Takze jedina moznost ako stiahnut obrazok je cez kliknutie na download tlacidlo ktore je v interfejsi. V zdrojovom kode je to normalny mg src, ziaden canvas a podobne.

Zaujimalo by ma ako je takato ochrana implementovana?


Zopper

  • *****
  • 742
    • Zobrazit profil
Re:Ako OneDrive chráni obrázky v prehliadači?
« Odpověď #1 kdy: 23. 08. 2024, 20:55:30 »
A máš odkaz na ukázání, nebo lepší popis situace? Mě pravé myšidlo -> uložit obrázek v OneDrive normálně funguje, právě teď jsem to zkusil na fotce, kterou jsem tam za tímto účelem nahrál. A když otevřu soubor obrázku přes URL, z toho img src, tak se taky načetla ta fotka, URL vypadá jako:
Kód: [Vybrat]
https://westeurope1-mediap.svc.ms/transform/thumbnail?provider=spo&farmid=188858&inputFormat=jpeg&<...snip...>&width=2494&height=798
« Poslední změna: 23. 08. 2024, 20:57:47 od Zopper »

Re:Ako OneDrive chráni obrázky v prehliadači?
« Odpověď #2 kdy: 23. 08. 2024, 22:19:30 »
Já to zkoušel a galerie obrázků se opravdu chová, jak píše autor.
Vypadalo to jako když se používají buď jednorázové odkazy, nebo odkazy s hodně krátkou dobou platnosti.

V seznamu souborů, kde se obrázek dá také zobrazit, se to chovalo normálně.

Zopper

  • *****
  • 742
    • Zobrazit profil
Re:Ako OneDrive chráni obrázky v prehliadači?
« Odpověď #3 kdy: 24. 08. 2024, 08:01:15 »
Aha, tam jsem to nezkusil. No, trochu jsem pohledal, a podle diskuze u téhle issue https://github.com/rclone/rclone/issues/7898
Se pro načtení obrázku zřejmě posílá s požadavkem na obrázek nějaký token a omezenou platností. Vzhledem k tomu, že čisté HTML obsahuje jen naplněný <head> a dva prázdné <div> v <body>, tak to celé načítají javascriptem a tím pádem si můžou poslat hlavičky, jaké chtějí. Zajímavé je, že nejsem schopný prohlížeč donutit, aby ukázal celou request hlavičku toho jpegu, pořád píše o "provisional headers" a že mám vypnout cache a načíst to znovu, aby viděl celou hlavičku.

Každopádně uložit se to pořád dá přes vývojářské nástroje v Network tabu, tam to nezkouší udělat nový request při ukládání.