PHP

2012-10-30 7 views
6

के साथ दो पृष्ठों के बीच चर पारित करने का सबसे सुरक्षित तरीका मुझे एक सुरक्षित तरीके से दो पृष्ठ के बीच एक चर पारित करने का एक तरीका चाहिए।PHP

मुझे पता है कि मैं पोस्ट/प्राप्त/कुकी/सत्र या छिपा क्षेत्रों का उपयोग कर सकते हैं लेकिन मुझे लगता है इन तरीकों में से कोई भी सुरक्षित नहीं हैं पर्याप्त है क्योंकि:

प्राप्त यूआरएल में देखा जा सकता
कुकीज़ एक है ग्राहक के पक्ष में यह सत्र आईडी अपहरण और ...

अब मैं जानना चाहता हूँ वहाँ एक और तरीके इन तरीकों से बेहतर है का सामना कर सकते हैं ग्राहक
सत्र से परिवर्तन किया जा सकता है और इनमें से डायन है अगर वहाँ है, इसलिए सुरक्षित तरीके से चर पारित करने का सबसे अच्छा तरीका;

+7

सत्र। यदि आप उन पर भरोसा नहीं करते हैं, तो मुझे लगता है कि आप विकल्पों में से बाहर हैं। – Crontab

+1

सत्र आपका मित्र php (सर्वर-साइड)/विकल्प पर हैं, एचटीएमएल 5 वेब स्टोरेज http://www.w3schools.com/html/html5_webstorage.asp – donald123

+2

निश्चित रूप से सत्रों में एक नज़र डालें। इच्छुक पढ़ा: http://cleverlogic.net/tutorials/session-hijacking-0। – alexn

उत्तर

10

सत्र आपके पास उपलब्ध सबसे सुरक्षित तरीका है।

सत्र आईडी पुनर्जन्म सत्र अपहरण के खिलाफ मदद करेगा, लेकिन https के माध्यम से SSL वास्तव में इसके खिलाफ सुरक्षा करेगा।

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

+0

पुन: उत्पन्न सत्र आईडी केवल सहेजने से रोकने में मददगार होगा अगर लॉगिन के बाद खंड टीएलएस चलाता है। यदि पुनर्जीवित आईडी को ब्राउज़र स्थान से कॉपी किया गया है और फिर किसी अन्य ब्राउज़र में फिर से चलाया गया है तो मुझे लगता है कि लॉगिन अभी भी टीएलएस के बावजूद होगा या नहीं .. क्या मैं सही हूँ? –

3

सत्र का उपयोग पृष्ठों के बीच चर मान पासिंग session_regenerate_id द्वारा सबसे सुरक्षित

और सत्र id से जेनरेट करें जब भी (जैसे से प्रवेश करना) सुरक्षा स्तर बदल जाता है। यदि आप चाहें तो आप हर अनुरोध सत्र सत्र को पुन: उत्पन्न कर सकते हैं।

अच्छा पढ़ें

PHP Security Guide: Sessions

0

प्राप्त का उपयोग कर के साथ गलत कुछ भी नहीं है - ... तुम हमेशा मानकों का एक हैश के साथ मिलता है यह के जोखिम को कम करने के लिए गठजोड़ कर सकते हैं जब तक कि वे सही ढंग से स्वच्छ कर रहे हैं के रूप में यह सुनिश्चित करने के लिए कि वे भी वैध हैं, सत्रों के उपयोग के साथ छेड़छाड़ की जा रही है।

1

के बाद से सत्र सर्वर साइड, चर पारित करने के लिए और सत्र अपहरण को रोकने के लिए यदि आप मैन्युअल php में session_regenerate_id समारोह का उपयोग कर सकते इसकी सबसे सुरक्षित तरीका है: http://php.net/manual/en/function.session-regenerate-id.php

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