2012-03-22 5 views
8

मेरे पास एक पृष्ठ है जो अजाक्स के माध्यम से अन्य पृष्ठों को लोड करता है (फ्रेम के बिना फ्रेम को सोचें)।यह कैसे बताना है कि अजाक्स के माध्यम से किसी पृष्ठ को कॉल किया जा रहा है या उसके

स्पष्ट रूप से इन पृष्ठों को स्वतंत्र रूप से बुलाया जा सकता है, इसलिए मैं यह जानना चाहता हूं कि उन्हें अजाक्स के माध्यम से बुलाया जा रहा है, और यदि नहीं, तो मुख्य अजाक्स पृष्ठ पर रीडायरेक्ट करें।

पृष्ठ php पृष्ठ हैं, इसलिए मेरे पास भी इसका उपयोग है।

सूचकांक:

goto = "StandalonePrograms.php"; 
    var clear = "<br style='clear:both;'>" 
    if(goto != ''){ 
     $.ajax({ 
      url: goto, 
      context: document.body, 
      success: function(data){ 
       $('#mainwindow').html(data + clear); 
       $('#mainwindow').find("script").each(function(i){ 
        eval($(this).text()); 
       }); 
      } 
     }); 
    } 
+0

http://stackoverflow.com/questions/3696650/how-to-detect-if-file-is-being-accessed-or-requested चयनित उत्तर –

+0

देखें AJAX अनुरोध पृष्ठ को एक विशेष क्वेरी स्ट्रिंग के साथ कॉल करता है। यह मूर्खतापूर्ण नहीं है, लेकिन यह काफी अच्छा हो सकता है। – Blazemonger

+0

संभावित डुप्लिकेट [मैं जांच कैसे करूं कि अनुरोध PHP के साथ AJAX के माध्यम से किया गया है?] (Http://stackoverflow.com/questions/4301150/how-do-i-check-if-the-request-is-made -विया-एजेक्स-साथ-php) –

उत्तर

12

आधुनिक ब्राउज़रों निम्नलिखित अनुरोध हेडर जोड़ने जब एक अनुरोध XMLHttpRequest वस्तु का उपयोग किया जाता है:

X-Requested-With: XMLHttpRequest 

पीएचपी में, का उपयोग करते हुए इस हेडर के अस्तित्व की जाँच करें:

$_SERVER['HTTP_X_REQUESTED_WITH'] 
+3

विशेष रूप से PHP के लिए, आप '$ _SERVER ['HTTP_X_REQUESTED_WITH'] 'की जांच कर सकते हैं। –

+0

यह PHP 7.1.11 के साथ काम नहीं कर रहा है और जो भी नवीनतम क्रोम ब्राउज़र है, 18 जनवरी तक – Mawg

-1

आप कभी भी ग्राहकों और उनके भेजे गए इंफ पर भरोसा नहीं कर सकते ormation! हेडर द्वारा हैकर्स को धोखा दिया जा सकता है (उदाहरण के लिए curl के साथ) और यहां तक ​​कि HTTP_X_REQUESTED_WITH भी विश्वसनीय नहीं है। यह जानने के लिए कोई 100% भरोसेमंद तरीका नहीं है। कैप्चा का उपयोग करने का एकमात्र तरीका है ...

संबंधित मुद्दे

 संबंधित मुद्दे