Adatszoba-portál – hozzáférési lánc, belépés és megtekintés
A portál minden kérésnél újraellenőrzött hozzáférési lánca, a belépés, a tartós munkamenet és a meghívó-token, valamint a megtekintő, előnézeti, kereső és gyorslink végpontok.
Áttekintés
Jelszóval védett, önálló portál-oldal, ahol az admin oldalon megosztott mappák dokumentumai nézhetők, kereshetők és — ha engedett — vízjelesen tölthetők le. A belépés az alapkeretrendszer admin-felhasználó törzsével történik. Áruház-függő: a mappák és dokumentumok csak abban az áruházban (aldomainen) látszanak, amelyhez hozzá vannak rendelve.
Közös hozzáférési lánc
- A felhasználó aktív (
isUserActive, minden kérésnél); munkamenet-kulcsdocshare_user_id. - A mappa elérhető (
accessibleWhere):doc_share.status = 1,date_start <= most < date_expirebudapesti idő szerint, a felhasználó saját hozzárendelési ablaka, és áruház-szűrés (doc_share_to_store). - Dokumentum:
doc_share_itemtagság,doc.status = 1, tartalmi (cég-)hatókör apermission_scopecompany/company_idszabályaiból (felhasználó, ennek hiányában csoport; super admin korlátlan; szabály nélkül nincs szűkítés; üres engedélylista = semmi), és dokumentum-áruház szűrés (doc_to_store). - Minden esemény audit-naplóba megy (
document/portalcsatorna) IP-címmel és böngésző-azonosítóval.
Végpontok
| Végpont | Működés |
|---|---|
document/document | belépés nélkül csak a bejelentkező ablak; belépve bal navigáció, címkék, globális kereső. doc_share_id nélkül kezdőlap: mappa-kártyák, statisztika, az összes elérhető dokumentum doc_id szerint deduplikálva (a kedvezőbb letöltési jog nyer), külső weblinkek, összméret; doc_share_id-val mappa-nézet. Soronként típus, can_view, can_download (mappa ÉS dokumentum letölthető), kizárólag vezérlő-URL-ek. Nem alap áruháznál az áruház neve és logója. |
.login, .logout | authenticate(): aktív felhasználó, password_verify; remember esetén 30 napos tartós token (doc_portal_token, süti dlbt_portal_remember: secure, httponly, SameSite=Lax). Hibánál napló a felhasználónévvel. Kilépéskor a token és a süti is törlődik. |
.setpassword, .setpasswordsave | verifyInviteToken() (SHA-256; aktív, fel nem használt, le nem járt, aktív felhasználóhoz kötött); érvénytelennél adat nem szivárog. Mentés: legalább 8 karakter és egyezés, setUserPassword(), markInviteUsed(), automatikus belépés, napló. Tábla: user_invite. |
.view | teljes lánc; közvetlen navigáció tiltva beágyazható típusnál (Sec-Fetch-Dest: document); bájtok a tárhelyről (local másolat, Drive és OneDrive esetén a webrooton kívüli doc-cache); office fájl Drive-konverzióval PDF-re (cache-elve); PDF-nél dinamikus vízjel (Dlbtwatermark::pdf: név, azonosító, dátum, idő, figyelmeztető szöveg); Content-Disposition: inline; az ideiglenes fájlok törlődnek |
.gview | Drive-fájlnál a lánc után link-alapú olvasási jog (munkamenetenként egyszer), átirányítás a Drive előnézetre; ez az út nem vízjelez |
.thumb | csak kép, w = 240, 480 vagy 960; ETag és 304; gyorsítótár LRU-érintéssel; jog nélkül 403 |
.sheet | letölthető mappa és dokumentum esetén Google-másolat („név (online)”), writer/anyone joggal, a doc rekordba írva; az eredeti nem változik |
.search, .searchall | név szerinti szűrés a mappán belül; globális keresés az összes elérhető mappában, naplózva a kifejezéssel és a találatszámmal |
.t&t= | gyors link belépés nélkül: doc_token (SHA-256, aktív, le nem járt), opcionális jelszó, dl=1 csak allow_download=1 tokennél, proxyzott bájtok, találat-számláló, napló; érvénytelen → semleges 404; vízjel ezen az úton nincs |
Ismert korlátok
- A belépésnél próbálkozás-korlát a kódban nincs.
- A
gviewés a gyors link útja nem vízjelez.