قم بإنشاء إشارة مرجعية لذيذة في Firefox باستخدام API لذيذ

StackOverflow https://stackoverflow.com/questions/2708950

سؤال

أرغب في إنشاء إشارة مرجعية لذيذة في Firefox التي تؤدي إلى تشغيل الصفحة الحالية مع علامة محددة مسبقًا.

لإثبات المفهوم ، إذا أدخلت عنوان URL هذا ، فهو يعمل:

https://john:pwd@api.del.icio.us/v1/posts/add?url=http://www.google.com&
    description=http://www.google.com&tags=testtag

لكن هذا كإشارة مرجعية لا ، أحصل على تم الرفض:

javascript:(

    function()
    {
        location.href = 'https://john:pwd@api.del.icio.us/v1/posts/add?url=' 
            + encodeURIComponent(window.location.href)
            + '&description=' + encodeURIComponent(document.title)   
            + '&tags=testtag';
    }

)()

هل هذا ممكن عبر إشارة مرجعية JavaScript؟

تحديث: حاولت هذا ، لكن ما زلت حصلت على تم الرفض خطأ ، لذلك له علاقة مع JavaScript/Firefox.

javascript:(

    function()
    {
        location.href = 'https://john:pwd@api.del.icio.us/v1/posts/add?url='
            + 'http://www.google.com'
            + '&description=' + 'http://www.google.com' + '&tags=testtag';
    }

)()

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

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

المحلول

أظن أن هذا هو Firefox يحاول حمايتك من مشكلات الأمن عند تشغيل JavaScript. عندما حاولت الكتابة في مثالك في شريط العناوين الخاص بي ، دفعني Firefox إلى السؤال عما إذا كنت متأكدًا من أنني أريد تسجيل الدخول إليه api.del.icio.us.

هذا السؤال الآخر المتعلق HTTP AUTH يشبه سؤالك ، ربما سيساعدك.


تحديث:

لقد استخدمت Firebug's شبكة اللوحة ووحدة التحكم JavaScript الخاصة بها ، وتمكنت من رؤية رؤوس الطلب/الاستجابة.

هنا هو طلب من وحدة تحكم JavaScript ، الذي فشل:

GET /v1/posts/add?url=http://www.spoons.com/&description=forks&tags=knives HTTP/1.1
Host: api.del.icio.us
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://stackoverflow.com/questions/2708950/2740195
Authorization: Basic XXXXXXXXXXXXXXXXX
Cache-Control: max-age=0

وهنا الطلب من شريط العناوين ، الذي نجح:

GET /v1/posts/add?url=http://www.spoons.com/&description=forks&tags=knives HTTP/1.1
Host: api.del.icio.us
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Authorization: Basic XXXXXXXXXXXXXXXXX
Cache-Control: max-age=0

يبدو أن الاختلاف الوحيد هو Referer الرأس ، الذي تسبب في تم الرفض استجابة. الإعداد network.http.sendrefererheader في Firefox حول يمكن ضبطها على 0 والتي تطفئ Referer رأس. عندما جربت هذا ، بدأت طريقة وحدة التحكم JavaScript في العمل.

هناك امتداد Firefox يسمى refspoof وهو مفيد لإرسال العرف الخاص بك Referer الرؤوس ، ربما يمكن أن تساعد هنا.

نصائح أخرى

يبدو أنك مفقود url=.

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