2012-02-22 7 views
9

हेडर रीडायरेक्ट कितने सुरक्षित हैं? जैसा कि मैं इसे समझता हूं, हेडर जानकारी ब्राउज़र को निर्देश देती है कि क्या करना है। इसलिए, यदि शीर्षलेख स्थान किसी अन्य स्थान पर सेट किया गया है, तो क्या ब्राउज़र अभी भी प्रारंभिक पृष्ठ पर उतरने के लिए बनाया जा सकता है?हेडर रीडायरेक्ट कितना सुरक्षित है? क्या इसे छोड़ दिया जा सकता है?

if(!$loggedin){ 
header('Location: someotherpage.php') 
} 

यदि कोई है, (खांसी खांसी) शीर्षलेख के बाद बाहर निकलने के आदेश का उपयोग करना भूल गया है, तो क्या कोई अभी भी उस पृष्ठ पर उतर सकता है?

+4

आप https://addons.mozilla.org/en-US/firefox/addon/noredirect/ मिल सकता है फ़ायरफ़ॉक्स के लिए एक उपयोगी ऐड-ऑन। यह आपको यह देखने की अनुमति देगा कि वास्तव में क्या भेजा जा रहा है। मैंने साइटें देखी हैं (जिनके पास मुझे परीक्षण करने की अनुमति है) जो पूरे व्यवस्थापक इंटरफेस को गुमनाम रूप से उपयोग करने की अनुमति देते हैं, क्योंकि वे लॉगिन पृष्ठ पर रीडायरेक्ट-आउट-आउट नहीं होते हैं। – Cheekysoft

+0

धन्यवाद Cheekysoft। यह वहीं है जिसे मैं ढूंढ रहा था। –

उत्तर

8

यदि कोई है, (खांसी खांसी) शीर्षलेख के बाद बाहर निकलने के आदेश का उपयोग करना भूल गया है, तो क्या कोई अभी भी उस पृष्ठ पर उतर सकता है?

ज़रूर - उस पृष्ठ (वह पहले से ही है) के बजाय भूमि, एक exit() भूल का मतलब है ग्राहक अभी भी किसी भी उन पंक्तियों के बाद उत्सर्जित डेटा देख सकते हैं। कोई भी बल ग्राहक को Location: शीर्षलेख प्राप्त करने के तुरंत बाद छोड़ने के लिए कर सकता है। वह कार्रवाई पूरी तरह से स्वैच्छिक है।

0

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

0

हां। अभी भी उस पृष्ठ पर उतरना संभव होगा, आप 'स्थान' को मजबूर नहीं कर सकते हैं। यदि पृष्ठ "हेडर पहले ही भेजे गए" त्रुटियों को फेंकता है तो शेष पृष्ठ को "गलती से" लोड करना भी संभव है। header('Location...') भेजने के बाद exit; का उपयोग करना अच्छा अभ्यास है।

पीएचपी देखें समारोह: headers_sent

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