java जावा एप्लेट सफारी 7(मैक ओएस एक्स 10.9) के तहत फाइलें नहीं खोल सकता




macos safari (2)

मुझे आज एक अन्य जावा ऐप के साथ भी ऐसी ही समस्या थी। मुझे लगता है कि आपको इस संवाद में "ऐप्स को नीचे अनुमति दें ..." सूची में अपना ऐप जोड़ने की आवश्यकता हो सकती है ( System Prefs -> Security & Privacy -> Accessibility ):

हमारे पास एक वेब ऐप है जो स्थानीय डिस्क पर फ़ाइलों में हेरफेर करने के लिए जावा एप्लेट का उपयोग करता है। हम इसे थोड़ी देर के लिए विकसित करते हैं और हम पहले से ही सभी प्रकार के मुद्दों के साथ जानते हैं कि एप्लेट आधुनिक OS'es और ब्राउज़रों और नवीनतम जावा संस्करणों और नए सुरक्षा प्रतिबंधों के साथ हो सकता है।

कल Apple ने अपने नए Mac OS 10.9 Mavericks को नए Safari ब्राउज़र (7.0) के साथ उतारा। मैंने सफारी 7 / मैक ओएस एक्स 10.9 के तहत हमारे वेब ऐप का परीक्षण किया था ताकि केवल सफारी 7 (शायद?) को खोजने के लिए अपने आईलेट से स्थानीय फ़ाइलों तक पहुंच को अवरुद्ध किया जा सके।

हालांकि एप्लेट (वैध थावे प्रमाण पत्र के साथ हस्ताक्षरित, और जावा 7u45 के लिए विशिष्ट सभी सुरक्षा आवश्यकताओं के साथ पूरा) स्थानीय फ़ाइल सिस्टम के लिए पूर्ण पहुंच के साथ अप्रतिबंधित मोड में चलता है (जावा सुरक्षा प्रॉम्प्ट का कहना है कि), स्थानीय फ़ाइल तक पहुंचने के प्रयास में फाइल को पकड़ता है :

java.io.FileNotFoundException: /Users/yury/Pictures/Paris 2012/L1050258.jpg (Operation not permitted)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:146)
    at com.trackntag.a.v.a(Unknown Source)

इसके अलावा, एप्लेट से जावा फाइल ओपन डायलॉग को खोलते समय, यह बिना किसी फाइल को प्रदर्शित करता है और फोल्डर चयनकर्ता के फोल्डर में कोई आइकॉन नहीं होता है (सामान्य रूप से उन्हें होना चाहिए)। जब आप रूट फ़ोल्डर में वापस जाते हैं, तो आप शीर्ष स्तर के फ़ोल्डर (बिन, कोर, देव, होम, और इसी तरह) देख सकते हैं, लेकिन आप उनमें ब्राउज़ नहीं कर सकते।

ऐपलेट में मैक के लिए नवीनतम फ़ायरफ़ॉक्स 24 के साथ स्थानीय फ़ाइलों तक पहुंच है, उसी मशीन (जावा 7u45, मैक ओएस एक्स 10.6) पर। सफारी 6 और मैक ओएस एक्स 10.8.5 के साथ समान, विभिन्न विन्यासों में लिनक्स और विंडोज मशीनों का उल्लेख नहीं करना: स्थानीय फ़ाइलों तक पहुंच के साथ कोई समस्या नहीं।

उपरोक्त सभी होने के बाद, मुझे यह निष्कर्ष निकालना चाहिए कि हम सफारी 7 के लिए विशिष्ट समस्या में भाग गए हैं।

क्या आपके पास इस मुद्दे पर कोई विचार है? किसी भी विचार की बहुत सराहना की जाती है।

चीयर्स, यूरी

EDIT (उत्तर): सफारी 7 में एक नई सुरक्षा सेटिंग है: सुरक्षित / असुरक्षित मोड (मुझे लगता है कि यह केवल जावा प्लग-इन के लिए है)। आप जावा प्लगइन को अलग-अलग वेबसाइटों या सभी साइटों के लिए असुरक्षित मोड में काम करने की अनुमति दे सकते हैं। असुरक्षित मोड में एप्लेट्स में स्थानीय फ़ाइल सिस्टम तक अप्रतिबंधित पहुंच होगी।

ऐसा प्रतीत होता है कि यह सुरक्षा सेटिंग जावा की अपनी सुरक्षा सेटिंग्स (प्रतिबंधित / अप्रतिबंधित पहुंच) के शीर्ष पर काम करती है।

यह सेटिंग सफारी वरीयताओं / सुरक्षा टैब / इंटरनेट प्लग इन के माध्यम से उपलब्ध है: वेबसाइट सेटिंग्स का प्रबंधन करें (फिर जावा प्लगइन का चयन करें)।

इसलिए एक बार जब मैंने पहले से ही अपने मूल प्रश्न का उत्तर दे दिया था, तो मैं इसे फिर से लिखना चाहूंगा: क्या यह संभव है कि असुरक्षित मोड या ओवरराइड सुरक्षित मोड को विशिष्ट वेब-साइट / URL के लिए उपयोगकर्ता को बिना इस सुरक्षा वरीयता के सेट करने के लिए कहा जाए? शायद Apple डेवलपर प्रमाणपत्र की तरह कुछ मदद मिलेगी?

एक बार फिर धन्यवाद!


सफारी 11 के लिए:

  1. Safari प्राथमिकताएं-> वेबसाइट्स-> प्लग-इन पर जाएं और जावा चुनें
  2. दाईं ओर आप 'नीचे प्लग इन के साथ वेबसाइटों का उपयोग करने की अनुमति दें' की सूची देख सकते हैं
  3. अब वेबसाइट का चयन करें
  4. विकल्प बटन दबाएं और फिर तीन विकल्प पर क्लिक करें (पूछें, बंद करें, चालू करें), आपको अतिरिक्त विकल्प 'रन इन सेफ मोड' दिखाई देगा - इस विकल्प को अन-चेक करें।





filenotfoundexception