दिलचस्प पोस्ट
एचटीएमएल 5 में वैध (गैर-शून्य) स्व-बंद टैग हैं? आईपैड उपयोगकर्ता एजेंट क्या है? कैसे कमांड लाइन से Windows EventLog स्रोत बनाने के लिए? कैमरे से कैप्चर करते समय कम चित्र / छवि गुणवत्ता पोस्टग्रे एसक्यूएल ऑटोक्रेनमेंट PHP SimpleXML नामस्थान समस्या WPF WebBrowser नियंत्रण का उपयोग करते समय मैं स्क्रिप्ट त्रुटियों को कैसे रोकूं? किसी फ़ाइल से लाइन ढूंढें जो किसी अन्य फ़ाइल में मौजूद नहीं हैं Cmake का उपयोग करके नेस्टेड उप निर्देशिका के लिए विजुअल स्टूडियो फ़िल्टर कैसे सेट करें सॉकेट.आईओ प्रमाणीकरण आरएक्स का उपयोग करने वाली घटना स्ट्रीम कैसे थ्रॉटल करें? कैसे asp.net के छवि नियंत्रण में डेटाबेस में एक छवि को दिखाने के लिए? JSON ऑब्जेक्ट भेज रहा है और पार्सिंग क्या ए (लॉग एन) जटिलता के लिए एक एल्गोरिथ्म का कारण होगा? पैकेट को कैप्चर करने के लिए एंड्रॉइड वीपीएन सर्विस पैकेट पर कब्जा नहीं करेगी

सफ़ारी 3 पार्टी कुकी आइफ्रेम चाल अब काम नहीं कर रहा है?

तो यह "मैं सफारी में काम करने के लिए 3 पार्टी कुकीज कैसे प्राप्त करता हूं" का नतीजा है, लेकिन मैं फिर से पूछ रहा हूं क्योंकि मुझे लगता है कि फरवरी 2012 के बाद शायद खेलना बदल गया है। तीसरा सफारी में पार्टी कुकीज़ निम्नानुसार थी: पोस्ट करने के लिए कुछ जावास्क्रिप्ट का उपयोग छिपे हुए आइफ्रेम में करें यह सफ़ारी को यह सोचने के लिए इस्तेमाल किया जाता है कि उपयोगकर्ता ने तृतीय पक्ष की सामग्री के साथ इंटरैक्ट किया था और इस तरह कुकीज़ को सेट करने की अनुमति दी गई थी।

मुझे लगता है कि इस बचाव का रास्ता हल्के घोटाले के मद्देनजर बंद हो गया है, जहां यह पता चला था कि Google अपने विज्ञापनों के साथ उस चाल का उपयोग कर रहा था। बहुत कम से कम, इस चाल का उपयोग करते हुए मैं सफारी में कुकीज़ सेट करने में पूरी तरह असमर्थ रहा हूं मैंने कुछ यादृच्छिक इंटरनेट पोस्टिंग का पता लगाया जो दावा किया था कि ऐप्पल बचाव का रास्ता बंद करने पर काम कर रहा था लेकिन मुझे कोई आधिकारिक शब्द नहीं मिला।

फ़ॉलबैक के रूप में मैंने मुख्य तीसरे पक्ष के फ्रेम को फिर से डिज़ाइन करने की कोशिश की ताकि सामग्री लोड होने से पहले आपको एक बटन पर क्लिक करना पड़ेगा लेकिन यहां तक ​​कि सीधी बातचीत के उस स्तर पर सफ़ारी के ठंडे ठंडे दिल को पिघलने के लिए पर्याप्त नहीं था।

तो क्या कोई निश्चित जानता है कि सफारी ने वास्तव में इस बचाव का रास्ता बंद कर दिया है? यदि हां, तो क्या अन्य उपाय हैं (मैन्युअल रूप से प्रत्येक अनुरोध में सत्र आईडी सहित)?

Solutions Collecting From Web of "सफ़ारी 3 पार्टी कुकी आइफ्रेम चाल अब काम नहीं कर रहा है?"

बस एक सरल कार्य समाधान यहां छोड़ना चाहता था, जिसके लिए उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं होती है

जैसा मैंने एक पोस्ट में कहा था :

असल में आपको केवल अपने पेज को top.location पर लोड करना है, सत्र बनाएं और इसे फेसबुक पर वापस रीडायरेक्ट करें।

अपने index.php के शीर्ष में इस कोड को जोड़ें और $page_url को अपने आवेदन के अंतिम टैब / ऐप यूआरएल पर सेट करें और आपको दिखाई देगा कि आपका ऐप बिना किसी समस्या के काम करेगा।

 <?php // START SAFARI SESSION FIX session_start(); $page_url = "http://www.facebook.com/pages/.../...?sk=app_..."; if (isset($_GET["start_session"])) die(header("Location:" . $page_url)); if (!isset($_GET["sid"])) die(header("Location:?sid=" . session_id())); $sid = session_id(); if (empty($sid) || $_GET["sid"] != $sid): ?> <script> top.window.location="?start_session=true"; </script> <?php endif; // END SAFARI SESSION FIX ?> 

नोट: यह फेसबुक के लिए बनाया गया था, लेकिन यह वास्तव में किसी अन्य समान परिस्थितियों में काम करेगा


20-दिसंबर -2012 को संपादित करें – हस्ताक्षरित अनुरोध बनाए रखना:

उपरोक्त कोड डेटा के बाद के अनुरोधों को नहीं बनाए रखता है, और यदि आपने हस्ताक्षरित अनुरोध पर भरोसा किया है, तो आप नीचे दिए गए कोड को आज़माने के लिए नि:

नोट: यह अभी भी ठीक से परीक्षण किया जा रहा है और पहले संस्करण से कम स्थिर हो सकता है। अपने स्वयं के जोखिम / प्रतिक्रिया पर उपयोग की सराहना की है।

(मुझे सही दिशा में इंगित करने के लिए सीबीआरई का धन्यवाद यहां समाधान में सुधार करने की अनुमति है)

 // Start Session Fix session_start(); $page_url = "http://www.facebook.com/pages/.../...?sk=app_..."; if (isset($_GET["start_session"])) die(header("Location:" . $page_url)); $sid = session_id(); if (!isset($_GET["sid"])) { if(isset($_POST["signed_request"])) $_SESSION["signed_request"] = $_POST["signed_request"]; die(header("Location:?sid=" . $sid)); } if (empty($sid) || $_GET["sid"] != $sid) die('<script>top.window.location="?start_session=true";</script>'); // End Session Fix 

आपने कहा था कि आप सामग्री लोड होने से पहले अपने उपयोगकर्ताओं को एक बटन पर क्लिक करने के लिए तैयार थे। मेरा समाधान एक नया ब्राउज़र विंडो खोलने के लिए एक बटन था। वह विंडो मेरे डोमेन के लिए कुकी सेट करती है, ओपनर को रिफ्रेश करती है और फिर बंद हो जाती है।

तो आपकी मुख्य स्क्रिप्ट की तरह दिख सकता है:

 <?php if(count($_COOKIE) > 0): ?> <!--Main Content Stuff--> <?php else: ?> <a href="/safari_cookie_fix.php" target="_blank">Click here to load content</a> <?php endif ?> 

तो safari_cookie_fix.php ऐसा दिखता है:

 <?php setcookie("safari_test", "1"); ?> <html> <head> <title>Safari Fix</title> <script type="text/javascript" src="/libraries/prototype.min.js"></script> </head> <body> <script type="text/javascript"> document.observe('dom:loaded', function(){ window.opener.location.reload(); window.close(); }) </script> This window should close automatically </body> </html> 

मैंने सफारी को .htaccess के साथ धोखा दिया है:

 #http://www.w3.org/P3P/validator.html <IfModule mod_headers.c> Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"NOI DSP COR NID CUR ADM DEV OUR BUS\"" Header set Set-Cookie "test_cookie=1" </IfModule> 

और उसने मेरे लिए भी काम करना बंद कर दिया। मेरे सभी ऐप्स सफ़ारी में सत्र खो रहे हैं और फेसबुक के बाहर रीडायरेक्ट कर रहे हैं। जैसा कि मैं उन क्षुधा को ठीक करने की जल्दी में हूँ, मैं वर्तमान में एक समाधान के लिए खोज रहा हूँ मैं तुम्हें तैनात रखेंगे।

संपादित करें (2012-04-06): जाहिरा तौर पर ऐप्पल 5.1.4 के साथ "फिक्स्ड" है। मुझे यकीन है कि यह Google- चीज की प्रतिक्रिया है: "इसकी कुकी नीति के लागू होने में एक समस्या मौजूद थी। यदि सफ़ारी में" ब्लॉक कुकीज "की प्राथमिकता" डिफ़ॉल्ट कुकी " तृतीय पक्षों और विज्ञापनदाताओं से " http://support.apple.com/kb/HT5190

आपके रूबी में रेल नियंत्रक पर आप उपयोग कर सकते हैं:

 private before_filter :safari_cookie_fix def safari_cookie_fix user_agent = UserAgent.parse(request.user_agent) # Uses useragent gem! if user_agent.browser == 'Safari' # we apply the fix.. return if session[:safari_cookie_fixed] # it is already fixed.. continue if params[:safari_cookie_fix].present? # we should be top window and able to set cookies.. so fix the issue :) session[:safari_cookie_fixed] = true redirect_to params[:return_to] else # Redirect the top frame to your server.. render :text => "<script>alert('start redirect');top.window.location='?safari_cookie_fix=true&return_to=#{set_your_return_url}';</script>" end end end 

मेरी विशिष्ट स्थिति के लिए मैंने खिड़की का उपयोग करके समस्या का समाधान किया। Post मेसेज () और किसी भी उपयोगकर्ता इंटरैक्शन को समाप्त कर रहा है। ध्यान दें कि यह केवल तभी काम करेगा यदि आप किसी तरह मूल विंडो में जेएस निष्पादित कर सकते हैं। या तो यह आपके डोमेन से एक जेएस शामिल होने के द्वारा, या यदि आपके पास स्रोत तक सीधी पहुंच है।

Iframe (domain-b) में मैं कुकी की उपस्थिति के लिए जांच करता हूं और यदि वह सेट नहीं है, तो पेरेंट (डोमेन-ए) को पोस्ट मेसेज भेजेगा। उदाहरण के लिए,

 if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1 && document.cookie.indexOf("safari_cookie_fix") < 0) { window.parent.postMessage(JSON.stringify({ event: "safariCookieFix", data: {} })); } 

फिर मूल विंडो (डोमेन-ए) में ईवेंट के लिए सुनो।

 if (typeof window.addEventListener !== "undefined") { window.addEventListener("message", messageReceived, false); } function messageReceived (e) { var data; if (e.origin !== "http://www.domain-b.com") { return; } try { data = JSON.parse(e.data); } catch (err) { return; } if (typeof data !== "object" || typeof data.event !== "string" || typeof data.data === "undefined") { return; } if (data.event === "safariCookieFix") { window.location.href = e.origin + "/safari/cookiefix"; // Or whatever your url is return; } } 

अंत में आपके सर्वर पर (http://www.domain-b.com/safari/cookiefix) आप कुकी सेट करते हैं और उस उपयोगकर्ता के पास से वापस रीडायरेक्ट करते हैं। नीचे उदाहरण ASP.NET MVC का प्रयोग कर रहा है I

 public class SafariController : Controller { [HttpGet] public ActionResult CookieFix() { Response.Cookies.Add(new HttpCookie("safari_cookie_fix", "1")); return Redirect(Request.UrlReferrer != null ? Request.UrlReferrer.OriginalString : "http://www.domain-a.com/"); } } 

मुझे एक ही समस्या थी और आज मुझे एक तय मिला जो मेरे लिए ठीक काम करता है यदि उपयोगकर्ता एजेंट में Safari और कोई कुकी सेट नहीं है, तो मैं उपयोगकर्ता को OAuth संवाद पर रीडायरेक्ट करता हूं:

 <?php if ( ! count($_COOKIE) > 0 && strpos($_SERVER['HTTP_USER_AGENT'], 'Safari')) { ?> <script type="text/javascript"> window.top.location.href = 'https://www.facebook.com/dialog/oauth/?client_id=APP_ID&redirect_uri=MY_TAB_URL&scope=SCOPE'; </script> <?php } ?> 

प्रमाणीकरण और अनुमति के लिए पूछने के बाद OAuth संवाद शीर्ष स्थान पर मेरे यूआरआई पर रीडायरेक्ट करेगा। तो कुकीज़ की स्थापना संभव है। हमारे सभी कैनवास और पेज टैब ऐप्स के लिए मैंने पहले से ही निम्न स्क्रिप्ट को शामिल कर लिया है:

 <script type="text/javascript"> if (top.location.href==location.href) top.location.href = 'MY_TAB_URL'; </script> 

इसलिए उपयोगकर्ता को फिर से फेसबुक पेज टैब पर एक वैध कुकी के साथ रीडायरेक्ट किया जाएगा जो पहले से ही निर्धारित है और हस्ताक्षरित अनुरोध फिर से पोस्ट किया गया है।

मैं आखिरकार एक ऐसे समाधान के लिए गया जिसने सास्का को कुछ थोड़ा समायोजन के साथ प्रदान किया, क्योंकि मैं कुकीज़ को स्पष्ट रूप से PHP में सेट कर रहा हूं:

 // excecute this code if user has not authorized the application yet // $facebook object must have been created before $accessToken = $_COOKIE['access_token'] if ( empty($accessToken) && strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') ) { $accessToken = $facebook->getAccessToken(); $redirectUri = 'https://URL_WHERE_APP_IS_LOCATED?access_token=' . $accessToken; } else { $redirectUri = 'https://apps.facebook.com/APP_NAMESPACE/'; } // generate link to auth dialog $linkToOauthDialog = $facebook->getLoginUrl( array( 'scope' => SCOPE_PARAMS, 'redirect_uri' => $redirectUri ) ); echo '<script>window.top.location.href="' . $linkToOauthDialog . '";</script>'; 

यह क्या जांच करता है कि यदि ब्राउजर सफारी है तो कुकी उपलब्ध है। अगले चरण में, हम आवेदन डोमेन पर हैं, अर्थात् उपरोक्त URL_WHERE_APP_IS_LOCATED के रूप में उपलब्ध यूआरआई

 if (isset($_GET['accessToken'])) { // cookie has a lifetime of only 10 seconds, so that after // authorization it will disappear setcookie("access_token", $_GET['accessToken'], 10); } else { // depending on your application specific requirements // redirect, call or execute authorization code again // with the cookie now set, this should return FB Graph results } 

इसलिए एप्लिकेशन डोमेन पर पुनः निर्देशित होने के बाद, एक कुकी को स्पष्ट रूप से सेट किया जाता है, और मैं उपयोगकर्ता को प्राधिकरण प्रक्रिया पर रीडायरेक्ट करता हूं।

मेरे मामले में (जब मैं केकपीएचपी का उपयोग कर रहा हूं, लेकिन किसी भी अन्य एमवीसी ढांचे के साथ ठीक काम करना चाहिए) मैं फिर से लॉगिन क्रिया को बुला रहा हूं जहां एफबी प्राधिकरण को किसी अन्य समय पर क्रियान्वित किया जाता है, और इस समय यह मौजूदा कुकी के कारण सफल होता है।

एक बार ऐप को अधिकृत करने के बाद, मेरे पास सफ़ारी (5.1.6) के साथ ऐप का उपयोग करने में और कोई समस्या नहीं थी

आशा है कि किसी को भी मदद कर सकता है

मुझे एएसपी.नेट एमवीसी में अपने फिक्स को साझा करने दें 4. मुख्य विचार जैसे PHP के लिए सही उत्तर में स्क्रिप्ट अनुभाग के पास शीर्ष लेख में मुख्य लेआउट में जोड़ा गया अगला कोड:

 @if (Request.Browser.Browser=="Safari") { string pageUrl = Request.Url.GetLeftPart(UriPartial.Path); if (Request.Params["safarifix"] != null && Request.Params["safarifix"] == "doSafariFix") { Session["IsActiveSession"] = true; Response.Redirect(pageUrl); Response.End(); } else if(Session["IsActiveSession"]==null) { <script>top.window.location = "?safarifix=doSafariFix";</script> } } 

यह समाधान कुछ मामलों में लागू होता है – यदि संभव हो तो:

Iframe सामग्री पृष्ठ iframe वाले पृष्ठ का सबडोमेन का उपयोग करता है, तो कुकी अब अवरुद्ध नहीं हो रही है।

आईओएस चलाने वाले उपकरणों पर मुझे यह समस्या थी मैंने एक ऐसी दुकान बनाई जिसे एक आईफ्रेम का इस्तेमाल करते हुए एक सामान्य वेबसाइट में एम्बेड किया जा सकता है। किसी भी तरह, हर पगलोड लोड पर उपयोगकर्ता को एक नया सत्र मिला, जिसके परिणामस्वरूप उपयोगकर्ताओं को आधा रास्ते पर अटक गया क्योंकि कुछ मान सत्र में मौजूद नहीं थे।

मैंने इस पृष्ठ पर दिए गए कुछ समाधानों की कोशिश की, लेकिन पॉपअप एक iPad पर बहुत अच्छी तरह से काम नहीं करते हैं और मुझे सबसे पारदर्शी समाधान की आवश्यकता है

मैंने एक रीडायरेक्ट का उपयोग करके इसे हल किया। मेरी साइट को एम्बेड करने वाली वेबसाइट को पहले उपयोगकर्ता को मेरी साइट पर रीडायरेक्ट करना होगा, इसलिए शीर्ष फ़्रेम में मेरी साइट पर यूआरएल होता है, जहां मैं कुकी सेट करता हूं और उपयोगकर्ता को उस साइट पर सही पेज पर रीडायरेक्ट करता हूं जो मेरी साइट को एम्बेड करता है, जिसे पारित किया जाता है यूआरएल के माध्यम से

उदाहरण PHP कोड

रिमोट वेबसाइट उपयोगकर्ता को इस पर रीडायरेक्ट करता है

 http://clientname.example.com/init.php?redir=http://www.domain.com/shop/frame 

init.php

 <?php // set a cookie for a year setcookie('initialized','1',time() + 3600 * 24 * 365, '/', '.domain.com', false, false); header('location: ' . $_GET['redir']); die; 

उपयोगकर्ता http://www.domain.com/shop/frame पर समाप्त होता है जहां मेरी साइट एम्बेडेड होती है, सत्रों को संग्रहीत करने और इसे खाने से कुकीज़ खाती है

उम्मीद है कि यह किसी को मदद करता है

गूगल वास्तव में बिल्ली को इस एक पर बैग के बाहर जाने दो। वे ट्रैकिंग कुकीज तक पहुंचने के लिए कुछ देर तक इसका उपयोग कर रहे थे। यह एप्पल = लगभग तुरंत तय हो गया था \

मूल वॉल स्ट्रीट जर्नल पोस्ट

यहाँ कुछ कोड है जो मैं उपयोग करता हूँ मुझे पता चला कि अगर मैं अपनी साइट से कोई भी कुकी सेट करता हूं, तो कुकी जादुई रूप से तब से आईफ़्रेम में काम करती है।

http://developsocialapps.com/foundations-of-a-facebook-app-framework/

  if (isset($_GET['setdefaultcookie'])) { // top level page, set default cookie then redirect back to canvas page setcookie ('default',"1",0,"/"); $url = substr($_SERVER['REQUEST_URI'],strrpos($_SERVER['REQUEST_URI'],"/")+1); $url = str_replace("setdefaultcookie","defaultcookieset",$url); $url = $facebookapp->getCanvasUrl($url); echo "<html>\n<body>\n<script>\ntop.location.href='".$url."';\n</script></body></html>"; exit(); } else if ((!isset($_COOKIE['default'])) && (!isset($_GET['defaultcookieset']))) { // no default cookie, so we need to redirect to top level and set $url = $_SERVER['REQUEST_URI']; if (strpos($url,"?") === false) $url .= "?"; else $url .= "&"; $url .= "setdefaultcookie=1"; echo "<html>\n<body>\n<script>\ntop.location.href='".$url."';\n</script></body></html>"; exit(); } 

अन्य लोगों ने जो पोस्ट किया है, उसके PHP में थोड़ा सा समानांतर संस्करण:

 if (!isset($_COOKIE, $_COOKIE['PHPSESSID'])) { print '<script>top.window.location="https://example.com/?start_session=true";</script>'; exit(); } if (isset($_GET['start_session'])) { header("Location: https://apps.facebook.com/YOUR_APP_ID/"); exit(); } 

मैंने संशोधित किया (लिंक पर हस्ताक्षर किए गए साइनरेडरेस्ट परम) व्हाइटगाले की चाल और यह सफारी के लिए ठीक काम किया, लेकिन आईई लगातार उस मामले में पृष्ठ को ताज़ा कर रहा है। तो सफारी और इंटरनेट एक्सप्लोरर के लिए मेरा समाधान है:

 $fbapplink = 'https://apps.facebook.com/[appnamespace]/'; $isms = stripos($_SERVER['HTTP_USER_AGENT'], 'msie') !== false; // safari fix if(! $isms && !isset($_SESSION['signed_request'])) { if (isset($_GET["start_session"])) { $_SESSION['signed_request'] = $_GET['signed_request']; die(header("Location:" . $fbapplink )); } if (!isset($_GET["sid"])) { die(header("Location:?sid=" . session_id() . '&signed_request='.$_REQUEST['signed_request'])); } $sid = session_id(); if (empty($sid) || $_GET["sid"] != $sid) { ?> <script> top.window.location="?start_session=true"; </script> <?php exit; } } // IE fix header('P3P: CP="CAO PSA OUR"'); header('P3P: CP="HONK"'); .. later in the code $sr = $_REQUEST['signed_request']; if($sr) { $_SESSION['signed_request'] = $sr; } else { $sr = $_SESSION['signed_request']; } 

मैं भी इस समस्या से पीड़ित रहा हूं, लेकिन अंत में समाधान मिला, प्रारंभ में सीधे छोटे पॉपअप जैसे ब्राउज़र में iframe url को लोड करें, तो केवल iframe के अंदर सत्र मानों का उपयोग करें।

मुझे इसका सही जवाब मिल गया है, एलन नामक एक लड़के के लिए धन्यवाद जो यहां सभी क्रेडिटों के हकदार हैं। ( http://www.allannienhuis.com/archives/2013/11/03/blocked-3rd-party-session-cookies-in-iframes/ )

उनका समाधान सरल और समझना आसान है।

Iframe सामग्री सर्वर (डोमेन 2) पर, उस रूट डोमेन स्तर पर एक फ़ाइल शामिल करें जिसे startession.php कहा गया है:

 <?php // startsession.php session_start(); $_SESSION['ensure_session'] = true; die(header('location: '.$_GET['return'])); 

अब iframe (domain1) युक्त शीर्ष स्तर की वेबसाइट पर, iframe युक्त पृष्ठ पर कॉल की तरह दिखना चाहिए:

 <a href="https://domain2/startsession.php?return=http://domain1/pageWithiFrame.html">page with iFrame</a> 

और बस! सरल 🙂

इसका कारण यह काम है क्योंकि आप ब्राउज़र को किसी तीसरे पक्ष के यूआरएल पर निर्देशित कर रहे हैं और इस पर आइफैम के भीतर से सामग्री दिखाने से पहले इसे विश्वास करने के लिए कह रहे हैं।

मैं हाल ही में सफारी पर एक ही मुद्दा मारा मुझे पता लगाया गया समाधान स्थानीय संग्रहण एचटीएमएलआई एपीआई पर आधारित है। स्थानीय संग्रहण का उपयोग करना आप कुकीज़ का अनुकरण कर सकते हैं

विवरण के साथ यहां मेरा ब्लॉग पोस्ट है: http://log.scalemotion.com/2012/10/how-to-trick-safari-and-set-3rd-party.html

मैंने $_SESSION वैरिएबल को सभी से छुटकारा पाने का फैसला किया और सत्र की नकल करने के लिए memcache के आसपास एक आवरण लिखा।

https://github.com/manpreetssethi/utils/blob/master/Session_manager.php देखें

उपयोग-केस: एप पर एक यूजर स्लॉट के समय, सत्र_ व्यवस्थापक पर उपयोग किए गए हस्ताक्षरित अनुरोध को स्टोर करें और जब से वह कैश में है, तो आप इसे अब किसी भी पेज पर एक्सेस कर सकते हैं।

नोट: सफ़ारी में निजी तौर पर ब्राउज़िंग करते समय यह काम नहीं करेगा क्योंकि सत्र पुनः लोड होने पर प्रत्येक बार session_id रीसेट होता है। (बेवकूफ सफारी)

आप इस समस्या को p3p नीति के रूप में शीर्ष को जोड़कर हल कर सकते हैं..मैं सफारी पर एक ही समस्या थी इसलिए फाइलों के ऊपर शीर्षलेख जोड़ने के बाद मेरी समस्या हल हो गई है

 <?php header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); ?>