2011-03-21 18 views
29

यह सुनिश्चित नहीं है कि यह यहां या वेबएप पर है ... कृपया उचित होने पर आगे बढ़ें।PHP सत्र चर देखें

मुझे यह भी पता नहीं है कि ऐसी चीज संभव है या नहीं, लेकिन क्या फ़ायरफ़ॉक्स या क्रोम के लिए कोई एक्सटेंशन या ऐड-ऑन है जो मुझे मेरे सभी PHP सत्र चरों को देखने के तरीके देगा जिससे आप एक्सटेंशन देख सकें कुकीज़?

उत्तर

53

कुकीज़ क्लाइंट साइड पर उपलब्ध हैं, इसलिए उन्हें ब्राउज़र से देखा जा सकता है।


दूसरी ओर, सत्र डेटा सर्वर पर संग्रहीत है, और ग्राहक को कभी नहीं भेजा (सिवाय आप निश्चित रूप से, सिर्फ इतना है कि क्या करने के लिए कुछ कोड लिखने)

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

आप अपने पृष्ठ के HTML अपवित्र नहीं करना चाहते हैं, तो आप FireBug को FirePHP विस्तार स्थापित, और इसी पीएचपी पुस्तकालय का उपयोग करें (चर का डंप की तरह) यह करने के लिए डेटा भेजने के लिए सकता है।
यह आपके चर, जैसे $_SESSION, फ़ायरबग के कंसोल में प्रदर्शित होने की अनुमति देगा।

+0

मैंने इसे थोड़ी देर पहले स्वीकार कर लिया लेकिन कभी टिप्पणी नहीं की। फायरपीएचपी एक्सटेंशन जो मैं ढूंढ रहा था, धन्यवाद – EmmyS

+0

@EmmyS आपका स्वागत है :-) खुशी है कि मैं मदद कर सकता हूं! –

+0

इसका मतलब है कि उपयोगकर्ता या हैकर्स का यह देखने का कोई तरीका नहीं है कि हमारे आवेदन में हमारे द्वारा उपयोग किए जाने वाले चर पैटर्न क्या हैं। क्या मैं सही हूं? –

0

कुछ fro ma सत्र acces करने के लिए आप var_dump का उपयोग कर सकते हैं, मैं ब्राउज़र सुरक्षा सुरक्षा प्रतिबंध नहीं है। http://php.net/manual/en/function.var-dump.php

6

PHP सत्र चर सर्वर पर संग्रहीत हैं और ग्राहक के लिए पहुंच योग्य नहीं हैं।

1

नहीं। सत्र चर सर्वर पर संग्रहीत हैं। फ़ायरफ़ॉक्स में दिखाई देने वाली एकमात्र चीज सत्र कुकी में संग्रहीत सत्र की आईडी है (उदा। PHP_SESS_ID=randomgarbage)।

dumpsession.php:

आप स्पष्ट रूप से एक स्क्रिप्ट है कि बाहर के रूप में सरल सत्र चर, कुछ डंप हैं लिखने के लिए होगा

<pre> 
<?php 
    var_dump($_SESSION); 
3

नहीं सत्र डेटा सर्वर-साइड है, जबकि कुकीज़ क्लाइंट-साइड हैं। सत्र कुकी में सत्र पहचानकर्ता होता है, जो सर्वर (यानी: PHP) उचित सत्र डेटा पुनर्प्राप्त करने के लिए उपयोग करता है।

सर्वर पर दूरस्थ पहुंच के बिना सत्र डेटा देखना या स्क्रिप्ट (जो सर्वर पर रहता है) का उपयोग करना संभव नहीं है।

यही कारण है कि कुकीज़ के बजाय सत्र में "संवेदनशील" जानकारी स्टोर करने की अनुशंसा की जाती है, क्योंकि इसे आसानी से परामर्श/बदला नहीं जा सकता है।

0

आप इसका उपयोग कर सकते हैं: Print_r ($ _SESSION);

+1

कृपया अपना उत्तर विस्तृत करें। –

+0

यदि आप एक्सटेंशन का उपयोग नहीं करना चाहते हैं, तो आप php फ़ाइल प्रिंट_आर ($ _SESSION) में उपयोग कर सकते हैं; सोचा कि यह मदद कर सकता है, एक अच्छा है –

0

मेरे पास यह सरल स्क्रिप्ट थी जो $ _SESSION चर दिखाती है।

<?php 
error_reporting(E_ALL); 
session_start(); 
if (isset($_POST['session'])) { 
    $session = eval("return {$_POST['session']};"); 
    if (is_array($session)) { 
     $_SESSION = $session; 
     header("Location: {$_SERVER['PHP_SELF']}?saved"); 
    } 
    else { 
     header("Location: {$_SERVER['PHP_SELF']}?error"); 
    } 
} 

$session = htmlentities(var_export($_SESSION, true)); 
?> 
<!DOCTYPE html> 
<html lang="en-US"> 
    <head> 
     <meta charset="UTF-8"> 
     <title>Session Variable Management</title> 
     <style> 
      textarea { font: 12px Consolas, Monaco, monospace; padding: 2px; border: 1px solid #444444; width: 99%; } 
      .saved, .error { border: 1px solid #509151; background: #DDF0DD; padding: 2px; } 
      .error { border-color: #915050; background: #F0DDDD; } 
     </style> 
    </head> 
    <body> 
     <h1>Session Variable Management</h1> 
<?php if (isset($_GET['saved'])) { ?> 
     <p class="saved">The session was saved successfully.</p> 
<?php } else if (isset($_GET['error'])) { ?> 
     <p class="error">The session variable did not parse correctly.</p> 
<?php } ?> 
     <form method="post"> 
      <textarea name="session" rows="<?php echo count(preg_split("/\n|\r/", $session)); ?>"><?php echo $session; ?></textarea> 
      <input type="submit" value="Update Session"> 
     </form> 
    </body> 
</html> 

इसे एक परीक्षण सर्वर पर स्थापित करें, इसे "sess" नाम दें।php "या ऐसा कुछ है, और यह वर्तमान सत्र दिखाता है। इसे एक उत्पादन सर्वर पर छोड़ना नहीं है !!!

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