उपयोगकर्ता लॉगिन के लिए URL क्या है (उर्फ लॉगिन फॉर्म कैसे छिपाएं?)


10

मैं आगंतुकों को अपनी वेबसाइट पर पंजीकरण करने की अनुमति नहीं देना चाहता; हालाँकि, मुझे परीक्षण प्रयोजनों के लिए एकल पंजीकृत उपयोगकर्ता रखने की आवश्यकता है। उदाहरण के लिए, मैं प्रतिबंधित पहुंच के साथ एक लेख प्रकाशित करूंगा ताकि मेरे परीक्षण उपयोगकर्ता यह देख सकें कि लेख आम जनता के लिए "किसी भी गंदे कपड़े धोने" के बिना साइट पर कैसा दिखता है (ठीक है, सभी 1 / दिन जो वास्तव में यात्रा करते हैं ...) ।

इस समय मेरी समस्या यह है कि मैं वेबसाइट को समाप्त करने का प्रयास कर रहा हूं क्योंकि मुझे उपयोगकर्ता लॉगिन फॉर्म को प्रकाशित / अप्रकाशित करना है। वर्तमान में, मैं एक उपश्रेणी में लॉगिन फ़ॉर्म को छिपाकर इस समस्या को 'दरकिनार' करता हूं ताकि यह तुरंत एक आकस्मिक आगंतुक को दिखाई न दे। क्या एक वैकल्पिक विधि (उदाहरण के लिए एक कस्टम URL) बनाना संभव है जो मेरे परीक्षण उपयोगकर्ता को चिह्नित किए गए सामग्री को देखने के लिए प्रतिबंधित कर देगा, जिसे सार्वजनिक उपयोग के साथ कोई अतिथि नहीं देखेगा?

जवाबों:


8

आप एक मेनू बना सकते हैं जो प्रकाशित नहीं है, और उपयोगकर्ता लॉगिन पृष्ठ पर एक लिंक डालें, और जो भी आप चाहते हैं उसका नाम दें। जब तक आप उपयोगकर्ता प्रबंधक विकल्पों में पंजीकरण पंजीकरण फ़ंक्शन को बंद कर देते हैं, तब तक आपको अच्छा होना चाहिए।

तो बस अपने ग्राहक को यूआरएल दे।

तो कदम हैं:

  1. एक नया मेनू बनाएं, इसे हिडन नाम दें
  2. नए मेनू का मॉड्यूल प्रकाशित न करें
  3. एक नया मेनू आइटम जोड़ें, उपयोगकर्ता प्रबंधक और लॉगिन फ़ॉर्म चुनें
  4. मेनू आइटम को टाइटल करें लॉगिन या कुछ और तो आप जानते हैं कि यह क्या है, लेकिन उपनाम को किसी ऐसे व्यक्ति में बदल दें जिसका कोई अनुमान नहीं लगाएगा।
  5. Yourite.com/aliasname पर जाकर अपने फॉर्म का परीक्षण करें

10

ब्रायन पीट के जवाब के विस्तार के रूप में:

यदि आप url पर जाते हैं

domain.com/index.php?option=com_users&view=login

आप मेनू आइटम सेट या किसी भी प्रकार की प्रकाशित / अप्रकाशित समस्या के बिना लॉगिन कर सकते हैं। यह जूमला में कुछ समस्या के रूप में कहा जा सकता है क्योंकि आपके आस-पास के अपने तरीके को जानने के बाद भी आप url संरचना को जान सकते हैं। इसे रोकने के नियम हैं, लेकिन आम तौर पर डिफ़ॉल्ट रूप से आप बस सीधे रास्तों का उपयोग कर सकते हैं, जहां आपको जाने की आवश्यकता है।

http://www.joomla.org/index.php?option=com_users&view=login

यहां यह काम पर है, यहां तक ​​कि मुख्य जूमला साइट जिसमें लॉगिन तक कोई सीधी पहुंच नहीं है, उस तरह से प्रवेश किया जा सकता है।

मेरा कहना है, सुनिश्चित करें कि आप उचित ACL का उपयोग करते हैं, यदि इसके "अभी" पंजीकृत उपयोगकर्ता हैं, तो कोई भी व्यक्ति जो जूमला की संरचना को जानता है वह भी इसमें शामिल हो सकता है। ब्रायन ने कहा था कि सुनिश्चित करें कि पंजीकरण बंद है।


क्या /index.php?option=com_users&view=logout के लिए एक अनुरूप URL है (जो मुझे लगा कि सहज था लेकिन गलत निकला)
बॉनशेमेनिस्ट

आप ऑटो लॉग आउट करने के लिए मतलब है? यह थोड़ा अजीब है, जूमला में लॉगआउट करने के लिए कुछ पोस्ट डेटा की आवश्यकता होती है, इसलिए फॉर्म / बटन। वह लिंक आपको मूल रूप से एक बटन पर ले जाएगा।
जॉर्डन रामस्टाड

यदि आप वास्तव में उस पृष्ठ पर आने वाले लोगों के बारे में चिंतित हैं, तो आप या तो एक फैंसी प्लगइन स्थापित कर सकते हैं जो उपयोगकर्ता को url के भाग के रूप में टोकन का उपयोग करने के लिए मजबूर करता है (मुझे पता है कि व्यवस्थापक के लिए एक है, बहुत यकीन है कि सामने वाले के लिए एक है अंत) ... लेकिन आप इसे भी इंस्टॉल कर सकते हैं: एक्सटेंशन्स. joomla.org/extensions/access-a-security/… जो उपयोगकर्ता को कहने की कोशिश करने पर आईपी को ब्लॉक करता है, लॉग इन करने के लिए 10 बार। यह आपको सूचित भी करता है। यह आपकी आँखें खोल देगा कि आपकी साइट पर कितनी बार हमला हो रहा है। मैंने देखा है कि सभी 100% "एडमिन" का उपयोग उपयोगकर्ता नाम के रूप में भी करते हैं।
ब्रायन पीट

मैं केवल यह कहना चाहता था कि मेनू आइटम के बिना भी, लॉगिन / रजिस्टर अभी भी सुलभ है। इसलिए यदि मेनू आइटम से निपटने के लिए बिना लॉगिन करने की आवश्यकता है तो यह संभव है, लेकिन इसका मतलब यह भी है कि कोई भी ऐसा कर सकता है। यदि रजिस्टर लॉक नहीं है, तो कोई भी एक खाता बना सकता है और किसी भी "गुप्त" पृष्ठ पर पहुंच सकता है यदि ऐसा हो सकता है कि इसे रोकने के लिए कोई एसीएल नहीं है। यह एक अतिरिक्त एसीएल समूह बनाकर किया जा सकता है, और उपयोगकर्ता को उस समूह में भी एक्सेस कर सकता है। प्रश्न में पृष्ठ के लिए उस समूह की भी आवश्यकता होगी।
जॉर्डन रामस्टाड

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

4

आपको फ्रंट-एंड लॉगिन फॉर्म के लिए लेआउट को ओवरराइड करके इसे पूरा करने में सक्षम होना चाहिए। लेआउट फ़ाइल के शीर्ष के पास कुछ PHP कोड जोड़ें। यह URL में एक कस्टम पैरामीटर के लिए और किसी विशेष मान के लिए कोड जाँचता है। यदि कोई किसी URL के माध्यम से लॉगिन पृष्ठ तक पहुंचने का प्रयास करता है, लेकिन इसमें कस्टम पैरामीटर और विशेष मूल्य (जैसे abc = xyz ) शामिल नहीं है, तो कोड "रिटर्न" जारी करता है; ताकि प्रदर्शन के लिए फॉर्म का लेआउट संसाधित नहीं होगा।

ओवरराइडिंग लेआउट फ़ाइल में इस कोड के साथ, केवल एक उपयोगकर्ता जो URL जानता है (जिसमें यह कस्टम पैरामीटर और एक स्वीकार्य मूल्य शामिल है) उस लॉगिन फॉर्म का उपयोग करने में सक्षम होगा।

उदाहरण के लिए: गुप्त URL हो सकता है

mydomain.com/?option=com_users&view=login&abc=xyz

फिर इस कोड को लॉगिन फॉर्म के लिए ओवरराइडिंग लेआउट फ़ाइल के शीर्ष के पास जोड़ें:

if(JFactory::getApplication()->input->get('abc')!='xyz'){
    return;
}

अछा सुझाव! यह दृश्य को अक्षम करने के लिए एक बहुत आसान उपाय है। यदि आवश्यक हो, तो इसे मॉड्यूल तक भी बढ़ाया जा सकता है (हालांकि मॉड्यूल का उपयोग करने के लिए एक सीधा यूआरएल नहीं है)।
जोर्डन रामस्टाड

3

मुझे अक्सर इसी तरह की समस्या का सामना करना पड़ा क्योंकि मैं अक्सर उन वेबसाइटों को संपादित करने के लिए फ्रंट-एंड लॉगिन चाहता हूं, जिन्हें मैं लॉगिन करने की आवश्यकता के बिना प्रबंधन करता हूं। मैंने एक छोटा बुकमार्कलेट बनाया जो मैंने अपने ब्राउज़र टूलबार में जोड़ा। यह स्पष्ट रूप से एक बहुत ही "स्थानीय" समाधान है, जैसा कि बुकमार्कलेट केवल मेरे लिए उपलब्ध है (या किसी को मैं कोड को कॉपी करता हूं), लेकिन यह किसी भी जूमला साइट पर काम करता है और एक अविश्वसनीय समय बचाने वाला है, बस लिंक और लॉगिन फॉर्म पर क्लिक करें दिखाया जाएगा (यह देखते हुए कि आप जूमला साइट पर हैं, निश्चित रूप से ...)।

 javascript:void((function(){var loc = location.href; loc.indexOf("?") == -1 ? (location.href = loc+"?option=com_users&view=login") : (location.href = loc+"&option=com_users&view=login");})());
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.