2010-05-23 27 views
5

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

या क्या कोई बेहतर तरीका है?

PHP

+0

मुझे लगता है कि कोई अन्य तरीका नहीं है ... यदि आप उपयोगकर्ता को स्थिति में लॉग इन करना चाहते हैं, तो आपको कुकीज़ का उपयोग करना होगा। – Cristian

+0

@ क्रिस्टियन: नहीं .... आपके पास * नहीं है, लेकिन दूसरा समाधान बहुत बदसूरत है। (यूआरएल में इसे पास करें) – mpen

उत्तर

3

@ रामिरो गोंज़ालेज़ मासील ने कहा कि उन्होंने उस स्क्रिप्ट को बनाया है, उन्हें उदाहरण के रूप में लेने के लिए ढांचे की आवश्यकता नहीं है। फ्रेमवर्क में आमतौर पर स्क्रिप्ट लिपटे और अच्छी तरह से रखी जाती है।

उस सवाल का जवाब देने के लिए:

मैं आमतौर पर कुकी में स्टोर कुछ md5 तार कि उनकी md5 (पासवर्ड) और उसके उपयोगकर्ता नाम से जोड़ दिया जाता है तो मैं वह मेरी वेबसाइट है कि इतने में लॉग इन किया गया था में प्रवेश करती है अगले टिम पता चल जाएगा मैं उसे के लिए लॉग इन नहीं होगा फिर से

मेरी उदाहरण:

<?php 
    $username = $_POST['username']; 
    $password = $_POST['password']; 
    // sql and escape stuff witch will return 1 if he has entered a valid login 
    if($sqlreturn == 1){ 
     // do login 
     $wraplogin = md5($username."-".md5($password)."-".SECRET_KEY); // I always define a define('SECRET_KEY', 'mysecretkey'); in global file. 
     // now you can store that $wraplogin in cookies and remember his login. Next time he enters the website, you read that cookie, compare it with what you have in your database and let him in. 
    } 
?>

अब मुझे पता है कि सबसे अच्छा उदाहरण नहीं है, लेकिन मैं व्यक्तिगत रूप से बहुत बड़ी वेबसाइटों (> 500,000 उपयोगकर्ताओं) और कोई भी इसे का उपयोग किया है अभी तक हैक किया गया है :)

लॉगिन भाग के लिए कुकीज़ में यह लाभ है।

शुभकामनाएं।

+0

एमडी 5 हैश में पासवर्ड डालने की कोई वास्तविक आवश्यकता? मैं डेटा का एक और यादृच्छिक बिट सोच रहा हूं, उपयोगकर्ता पंजीकरण टाइमस्टैम्प शायद बेहतर होगा। मुझे पता है कि एक स्ट्रिंग का लंबे समय तक कभी भी बलपूर्वक मजबूर नहीं किया जा सकता था, लेकिन सिर्फ पारदर्शी सुरक्षित पक्ष पर होना था। कुकीज़ के लाभ को मैंने जो पाया है उससे बीटीडब्ल्यू यह है कि आप उन्हें XX दिनों के लिए लॉग इन करने के लिए सेट कर सकते हैं। – Derek

+0

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

4

यदि आप PHP सत्र का उपयोग कर रहे हैं तो आप कुकीज़ का उपयोग कर रहे हैं। आपके वेब सर्वर पर डिस्क पर फ़ाइल में कुकीज़ और सत्र डेटा में PHP स्टोर सत्र आईडी।

1

वेब ढांचे (जावा सर्वलेट्स और अन्य) आमतौर पर सत्रों की पहचान करने के लिए कुकीज़ का उपयोग करते हैं; अन्य सामान्य विकल्प यूआरएल पैरामीटर है। तो मान लें कि आप किसी भी वेब ढांचे का उपयोग कर रहे हैं, शायद यह सत्र आईडी को संग्रहीत करने के लिए कुकीज़ का उपयोग कर रहा है। वेब फ्रेमवर्क प्रत्येक आईडी में सत्र ऑब्जेक्ट की पहचान करने के लिए इस आईडी का उपयोग करेगा। यद्यपि कुकीज़ जीवित सर्वर पुनरारंभ होता है, चूंकि वे ब्राउज़र में संग्रहीत होते हैं, सत्र ऑब्जेक्ट आमतौर पर तब तक नहीं होते जब तक कि आप सत्र दृढ़ता को कॉन्फ़िगर नहीं करते हैं।

यदि आप उपयोगकर्ताओं को "ऑटो लॉग इन" सामान्य रूप से "मुझे याद रखें" विकल्प के रूप में चाहते हैं, तो कई वेबसाइटें लागू होती हैं, तो यदि आपका ढांचा प्रदान करता है तो आपको सत्र वस्तुओं को जारी रखना होगा। या "लॉग इन टोकन" स्टोर करने के लिए कुकीज का उपयोग करके, इसी तरह की प्रणाली को कार्यान्वित करें, और जब उपयोगकर्ता सिस्टम को ऑटो लॉग इन करने या उन्हें लॉगिन पृष्ठ पर भेजने के लिए उस तक पहुंचने पर टोकन को चेक करता है। (संपादित करें: जैसे मिहाई अन्य उत्तरों में प्रस्तावित करता है)

यदि आप अपनी विधि को कार्यान्वित करना चाहते हैं, तो मैं यह जांचने का सुझाव देता हूं कि लोकप्रिय वेब ढांचे को कैसे कार्यान्वित किया जाता है, विशेष रूप से कुकीज़ में उपयोगकर्ता डेटा संग्रहीत करने की सुरक्षा और गोपनीयता पहलुओं को कैसे लागू किया जाता है।

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