- शिप
- 23 सितंबर 2026 को 1:21 am बजे UTC
- लेखक
- Kamo
- Commit
- 168cc8a
CheckFileInfo एकमात्र WOPI समापन बिंदु था कि दोनों की तुलना में पहुँच टोकन की तुलना में अनुरोध पथ के खिलाफ दस्तावेज़ और लाइव एक्सेस की पुनः जांच; GetFile, PutFile, PutRelativeFile, RenameFile और lock/unlock/refresh/get-lock overrides केवल टोकन के हस्ताक्षर और समाप्ति को सत्यापित करने के बाद, जो कुछ भी imgId दिखाया गया, उस पर कार्य किया यूआरएल में ऊपर। एक दस्तावेज़ के लिए POST /api/docs/open/{imgId} द्वारा एक टोकन को मिनेट किया गया सदस्य ने वैध रूप से खोला था, किसी अन्य दस्तावेज़ को पढ़ या ओवरराइट कर सकता था पथ को संपादित करके किसी भी संगठन को लॉक, अनलॉक या जांच कर सकता है किसी भी दस्तावेज़ का एक ही तरीका है। केवल प्राप्तकर्ता के अपने वैध टोकन को साझा करें सीधे दस्तावेज़ को ओवरराइट कर सकता है, उपयोगकर्ता कैनव्राइट फ्लैग को बायपास कर सकता है CheckFileInfo पहले से ही क्लाइंट साइड को लागू करने के लिए संपादक को बताया। हर WOPI समापन बिंदु को अब टोकन के JWT विषय की आवश्यकता होती है (ImgId) WopiTokenService संकेत मिंट टाइम में) पथ के इच्छानुसार बराबर करने के लिए, और फिर से चेक दस्तावेज़ Service.canUserAccess (reads: GetFile, GET LOCK) या CanUserWrite (writes: PutFile, PutRelativeFile, RenameFile, LOCK/UNK/ REFRESH LOCK) टोकन के दावों पर भरोसा करने के बजाय डेटाबेस के खिलाफ — टोकन को कम करने के बाद पहुंच को रद्द या समाप्त किया जा सकता है, इसलिए एक लाइव चेक है स्थिर अनुमति दावा की तुलना में सख्ती से मजबूत। Denied token-authenticated byte reads/writes अब दस्तावेज़ के माध्यम से दर्ज कर रहे हैंAuditor उसी तरह पहले से ही एक अवैध टोकन था। नया परीक्षण: WopiControllerAccessTest (11 मामले प्रत्येक बिंदु सूचीबद्ध को कवर करते हैं ऊपर); उत्परिवर्तन-चेक स्थानीय रूप से WopiController परिवर्तन को फिर से परिवर्तित करके, जो 11 लाल हो जाता है, फिर बहाल हो जाता है। WopiControllerAuditTest and WopiEditSessionTest अब अपेक्षित एक्सेस चेक को बचाने के लिए अद्यतन किया गया, क्योंकि उनके मौजूदा मामले सभी एक अनुमत कॉलर माना जाता है।.
