سؤال

لقد حصلت على عدد قليل جدا من مخطوطات التي كتبت في العمل تلقائيا تسجيل الدخول إلى المواقع الداخلية لدينا هنا.لقد تمكنت من كتابة السيناريو منذ ما يقرب من كل واحد من هذه المواقع باستثناء عصرنا ورقة التطبيق الذي يستخدم مصادقة HTTP.

هل هناك طريقة يمكنني استخدام غرسمونكي تسجيل لي في هذا الموقع تلقائيا ؟

تحرير:أنا على بينة من متجر وظيفة كلمة المرور في المتصفحات, ولكن كتاباتي تذهب خطوة أبعد عن طريق التحقق إذا أنا بتسجيل الدخول إلى الموقع عندما الأحمال (قبل عبور HTML) ومن ثم إرسال البريد إلى صفحة تسجيل الدخول.هذا يزيل خطوة من الحاجة لتحميل الموقع, الدخول على صفحة تسجيل الدخول, دخول أوراقي ثم ضرب تقديم

هل كانت مفيدة؟

المحلول

فمن الممكن لتسجيل الدخول باستخدام مصادقة HTTP خلال وضع "إذن" HTTP, مع قيمة هذا رأس مجموعة إلى سلسلة "الأساسية اسم المستخدم:كلمة المرور" ، ولكن مع "اسم المستخدم:كلمة المرور" جزء من سلسلة قاعدة 64 المشفرة.

http://frontier.userland.com/stories/storyReader$2159

قليلا من البحث وجدت أن غرسمونكي لديه وظيفة بنيت في ذلك حيث يمكنك إرسال الحصول على / آخر الطلبات إلى الملقم يسمى GM_xmlhttpRequest

http://diveintogreasemonkey.org/api/gm_xmlhttprequest.html

لذا وضع كل ذلك معا (و أيضا الحصول على هذا كود جافا سكريبت لتحويل السلاسل إلى base64 أحصل على التالي

http://www.webtoolkit.info/javascript-base64.html

var loggedInText = document.getElementById('metanav').firstChild.firstChild.innerHTML;
if (loggedInText != "logged in as jklp") {
    var username = 'jklp';
    var password = 'jklpPass';
    var base64string = Base64.encode(username + ":" + password);

    GM_xmlhttpRequest({
        method: 'GET',
        url: 'http://foo.com/trac/login',
        headers: {
            'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey/0.3',
            'Accept': 'application/atom+xml,application/xml,text/xml',
            'Authorization':'Basic ' + base64string,
        }
    });
}

حتى عندما كنت الآن زيارة موقع يخترق دوم و إذا كنت لم تقم بتسجيل الدخول ، التلقائى سجلات لي في.

نصائح أخرى

مصادقة HTTP إرسال المعلومات على كل طلب ، ليس فقط إلى تسجيل الدخول.سيقوم المتصفح ذاكرة التخزين المؤقت معلومات تسجيل الدخول للدورة بعد أن قمت بتسجيل الدخول في المرة الأولى.حتى لا حفظ شيء عن طريق محاولة للتحقق مما إذا كنت قد دخلت بالفعل في.

هل يمكن أن ننسى أيضا عن غرسمونكي تماما و تعطي فقط تسجيل الدخول الخاصة بك في url مثل ذلك:

http://username:password@host/

بالطبع توفير هذه المرجعية قد تكون خطرا على الأمن ، ولكن ليس أكثر حتى من حفظ كلمة المرور الخاصة بك في المتصفح.

لماذا لا تستخدم فايرفوكس (أفترض كنت تستخدم فايرفوكس) أن تذكر بيانات الاعتماد الخاصة بك باستخدام كلمة مرور المدير ؟

وجدت هذا الرابط: مصادقة HTTP مع أشكال HTML.يبدو مثل يمكنك استخدام جافا سكريبت للقيام HTTP المصادقة.أنا لا أعتقد أنك يمكن أن يكون غرسمونكي المقاطعة عندما كنت الأولى التنقل إلى عنوان URL على الرغم من.قد تحتاج إلى إعداد نوعا من نقطة انطلاق يمكنك استخدام لدينا غرسمونكي إعادة توجيه تلقائيا + تسجيل الدخول.على سبيل المثال ، يمكنك الحصول على الصفحة المحلية التي تأخذ عنوان URL المقصود في سلسلة الاستعلام ، غرسمونكي تلقائيا القيام مصادقة + إعادة توجيه.المشكلة الوحيدة هي أن عليك أن التفاف العناوين الموقع مع إطلاق صفحة الإشارات المرجعية يمكنك استخدام نقاط الدخول.

"http://username:password@host/"لا يعمل على IE, فايرفوكس يعمل على ما يرام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top