मुझे अभी तक इस सिर जानकारी के साथ या उसके बिना कोई अंतर नहीं दिख रहा है।हैडर ('सामग्री-प्रकार: टेक्स्ट/सादा'); बिल्कुल जरूरी है?
उत्तर
"आवश्यक" परिभाषित करें।
यदि आप करने के लिए ब्राउज़र चाहते पता क्या फ़ाइल के प्रकार है आवश्यक है। यदि आप इसे ओवरराइड नहीं करते हैं तो PHP स्वचालित रूप से Content-Type
शीर्षलेख text/html
पर सेट करता है ताकि आपका ब्राउज़र इसे HTML फ़ाइल के रूप में देख रहा हो जिसमें HTML शामिल न हो। यदि आपके आउटपुट में कोई HTML शामिल है तो आपको बहुत अलग परिणाम दिखाई देंगे। आप भेजने के लिए थे, तो:
<b><i>test</i></b>
एक Content-Type: text/html
होगा उत्पादन:
परीक्षण
जबकि Content-Type: text/plain
होगा उत्पादन:
<b><i>test</i></b>
TLDR संस्करण: आप तो वास्तव में केवल पाठ को आउटपुट कर रहे हैं तो यह वास्तव में कोई फर्क नहीं पड़ता है, लेकिन यह IS गलत है।
क्या आप कृपया PHP डिफ़ॉल्ट सामग्री प्रकार टेक्स्ट/एचटीएमएल के बारे में अपने बयान के लिए एक स्रोत प्रदान कर सकते हैं। मैं इस बात से असहमत नहीं हूं कि इस तरह के आधिकारिक दस्तावेज की तलाश कर रहा हूं। – billynoah
"php.ini" default_mimetype "के लिए खोजें। दस्तावेज में "PHP का अंतर्निहित डिफ़ॉल्ट टेक्स्ट/एचटीएमएल" होगा। यकीन नहीं क्यों, लेकिन वे वास्तव में इसे [मैन्युअल] में नहीं बताते हैं (http://php.net/manual/en/ini.core.php#ini.default-mimetype)। –
धन्यवाद। मैंने वास्तव में इसे आज पहले एक प्रश्न के रूप में पोस्ट किया और इस सेटिंग के बारे में सीखा। – billynoah
PHP डिफ़ॉल्ट रूप से सामग्री-प्रकार "टेक्स्ट/एचटीएमएल" का उपयोग करता है - जो कि "टेक्स्ट/सादा" जैसा ही है - और यह बताता है कि आपको कोई अंतर क्यों दिखाई नहीं देता है। यदि आप पाठ को आउटपुट करना चाहते हैं तो टेक्स्ट/सादा आवश्यक है (<> -सिंबोल सहित)। उदाहरण:
header("Content-Type: text/plain");
echo "<b>hello world</b>";
// Output: <b>hello world</b>
header("Content-Type: text/html");
echo "<b>hello world</b>";
// Output: hello world
आपका * ब्राउज़र * डिफ़ॉल्ट रूप से टेक्स्ट/एचटीएमएल का उपयोग नहीं करता है: PHP करता है। – Miles
मामूली विस्तार - उदाहरण कोड अभी भी मान्य है। –
और स्पष्टीकरण अभी भी गलत है ... –
इसकी नहीं है कि की तरह, यहाँ मेरा उत्तर के समर्थन के लिए उदाहरण है ----> स्पष्ट अंतर, दिख रहा है जब आप HTTP संपीड़न, जो आप डेटा जबकि संपीड़ित करने के लिए अनुमति देता है के लिए जाना सर्वर से क्लाइंट तक यात्रा करना और इस डेटा का प्रकार स्वचालित रूप से "gzip" बन जाता है जो ब्राउज़र को बताता है कि bowser को ज़िपित डेटा मिला है और इसे अपज़िप करना है, यह एक ऐसा उदाहरण है जहां बोसर में वास्तव में मायने रखता है।
वास्तव में यह वास्तव में कैसे काम करता है। –
कृपया बताएं कि क्या मैं गलत हूं क्योंकि मैं वास्तव में अपने ज्ञान को सही करना चाहता हूं और वास्तव में सीखना चाहता हूं .. –
ओह !! या खेद है कि यह सिर्फ मेरे दिमाग से फिसल गया है, लेकिन अगर आप टाइप को परिभाषित करते हैं तो आप सहमत नहीं हैं, यह आपको कुछ चुनिंदा प्रकार –
सामग्री-प्रकार शीर्षलेख सेट करना इस बात को प्रभावित करेगा कि एक वेब ब्राउज़र आपकी सामग्री का कैसा व्यवहार करता है। जब अधिकांश मुख्यधारा के वेब ब्राउज़र टेक्स्ट/सादे के सामग्री-प्रकार का सामना करते हैं, तो वे ब्राउज़र विंडो में कच्चे टेक्स्ट स्रोत (HTML पर प्रस्तुत स्रोत के विपरीत) प्रस्तुत करेंगे। यह
<b>foo</b>
या
देखकर foo
साथ ही के बीच का अंतर है, जब XMLHttpRequest
वस्तु का उपयोग कर, अपने Content-Type हैडर को प्रभावित करेगा कैसे ब्राउज़र को धारावाहिक लौटाए गए परिणाम । JQuery और प्रोटोटाइप जैसे AJAX ढांचे के अधिग्रहण से पहले, AJAX प्रतिक्रियाओं के साथ एक आम समस्या टेक्स्ट/xml के बजाय टेक्स्ट/html पर सामग्री-प्रकार सेट थी। यदि सामग्री-प्रकार टेक्स्ट/सादा था तो इसी तरह की समस्याएं होती हैं।
कहें कि आप 204 के साथ अनुरोध का उत्तर देना चाहते हैं: कोई सामग्री HTTP स्थिति नहीं। फ़ायरफ़ॉक्स ब्राउज़र के कंसोल में "कोई तत्व नहीं मिला" के साथ शिकायत करेगा। यह फ़ायरफ़ॉक्स में एक बग है जिसे कई वर्षों तक रिपोर्ट किया गया है, लेकिन कभी तय नहीं किया गया है। "सामग्री-प्रकार: टेक्स्ट/सादा" शीर्षलेख भेजकर, आप फ़ायरफ़ॉक्स में इस त्रुटि को रोक सकते हैं।
यह बहुत महत्वपूर्ण है कि आप ब्राउज़र को बताएं कि आप किस प्रकार का डेटा भेज रहे हैं। अंतर स्पष्ट होना चाहिए। अपने ब्राउज़र में निम्न PHP फ़ाइल के आउटपुट को देखने का प्रयास करें;
<?php
header('Content-Type:text/html');
?>
<p>Hello</p>
आप देखेंगे:
हैलो
(ध्यान दें कि आप एक ही परिणाम प्राप्त कर सकेंगे यदि आप इस मामले में हैडर लाइन से याद आती है - पाठ/html php के डिफ़ॉल्ट है)
यह पाठ को बदलें/सादे
<?php
header('Content-Type:text/plain');
?>
<p>Hello</p>
आप देखेंगे:
< p> नमस्कार </p> इस मामले
क्यों पड़ता है? यदि आप एक PHP स्क्रिप्ट है कि, उदाहरण के लिए, एक ajax अनुरोध के द्वारा प्रयोग किया जाता है में निम्नलिखित की तरह कुछ है, तो:
<?php
header('Content-Type:text/html');
print "Your name is " . $_GET['name']
किसी ने अपनी साइट पर http://example.com/test.php?name=%3Cscript%20src=%22http://example.com/eviljs%22%3E%3C/script%3E जैसी URL के लिए एक लिंक डाल सकते हैं, और एक उपयोगकर्ता उस पर क्लिक करता है, तो , उन्होंने अपनी साइट पर अपनी सारी जानकारी का खुलासा किया है जो भी लिंक डालता है। यदि आप फ़ाइल को टेक्स्ट/सादे के रूप में सेवा देते हैं, तो आप सुरक्षित हैं।
ध्यान दें कि यह एक मूर्ख उदाहरण है, यह अधिक संभावना है कि हमलावर द्वारा डेटाबेस में किसी फ़ील्ड में या फॉर्म सबमिशन का उपयोग करके खराब स्क्रिप्ट टैग जोड़ा जाएगा।
- 1. Django: एक साथ जरूरी है?
- 2. हैडर
- 3. हैडर
- 4. हैडर
- 5. सी ++, क्या यह गोटो स्टेटमेंट जरूरी है?
- 6. क्या वैध सीएसएस होना जरूरी है?
- 7. एचटीएमएल चरित्र इकाइयों को क्यों जरूरी है?
- 8. 'संबंधित प्रबंधक' ऑब्जेक्ट जरूरी नहीं है Django
- 9. mysql_real_escape_string() $ _SESSION चर के लिए जरूरी है?
- 10. क्या डाटाबेस सामान्यीकरण अभी भी जरूरी है?
- 11. मेट्रो स्टाइल ऐप्स: WinJS एक जरूरी है?
- 12. कंटेनर क्या है। डेटाटाइम बिल्कुल?
- 13. बिल्कुल रनटाइम होस्ट क्या है?
- 14. हैडर फ़ाइल
- 15. हैडर ताज़ा
- 16. jquerymobile: हैडर
- 17. कुछ जरूरी ईडब्ल्यूडी क्या हैं?
- 18. jquery प्लगइन्स को जरूरी जेएस
- 19. HTTP रेंज हैडर को सूचीबद्ध
- 20. है .zfproject.xml एक ज़ेंड फ्रेमवर्क प्रोजेक्ट में जरूरी है?
- 21. बिल्कुल एक बार अर्थशास्त्र क्यों अक्षम है?
- 22. HTTP "समाप्त हो जाता है" हैडर क्रोम
- 23. ला रहा है कस्टम प्राधिकरण हैडर
- 24. एफ # में बिल्कुल "bigint" क्या है?
- 25. क्या लाइटिड x14 बिल्कुल काम करता है?
- 26. बिल्कुल एडोब फ्लेक्स कितना स्वतंत्र है?
- 27. एंड्रॉइड जब बिल्कुल चालू होता है स्थानान्तरण
- 28. क्यूटी कैसे काम करता है (बिल्कुल)?
- 29. उपयोग निर्देश क्या करता है, बिल्कुल?
- 30. यह H264 एनएएल हैडर क्या मतलब है?
5 उत्तर जो कि एक ही बात कहता है, इनमें से कोई भी सही उत्तर के रूप में नहीं चुना जाता है ... – Christian