2010-04-25 6 views
4

미리 정의 된 태그로 현재 페이지를 북마크하는 Delicious 북마크릿을 Firefox에 만들고 싶습니다. 나는이 URL을 입력하면맛있는 API를 사용하여 파이어 폭스에 맛있는 북마크릿 만들기

개념의 증거를 들어, 작동 :

https://john:[email protected]/v1/posts/add?url=http://www.google.com& 
    description=http://www.google.com&tags=testtag 

북마크하지 않는 그러나 이것은 내가 액세스 거부 ​​얻을 :

javascript:(

    function() 
    { 
     location.href = 'https://john:[email protected]/v1/posts/add?url=' 
      + encodeURIComponent(window.location.href) 
      + '&description=' + encodeURIComponent(document.title) 
      + '&tags=testtag'; 
    } 

)() 

이인가를 가능한 자바 스크립트 북마크를 통해?

업데이트

: 나는이 시도 만, 여전히 액세스 거부 ​​오류가있어, 그래서 자바 스크립트/파이어 폭스와 함께 할 수있는 뭔가가.

javascript:(

    function() 
    { 
     location.href = 'https://john:[email protected]/v1/posts/add?url=' 
      + 'http://www.google.com' 
      + '&description=' + 'http://www.google.com' + '&tags=testtag'; 
    } 

)() 

업데이트 2 : 후 위의 많은 변화를 시도하고 다른 브라우저에, 나는 여전히 현상금을 제공하는 액세스 거부 메시지 과거를 얻을 수 없습니다.

답변

2

자바 스크립트를 실행할 때 보안 문제로부터 당신을 보호하려고 시도하는 Firefox라고 생각됩니다. 내 주소 표시 줄에 예제를 입력하려고 시도했을 때 Firefox가 api.del.icio.us에 로그인 할 것인지 묻는 메시지를 표시했습니다.

HTTP auth과 관련된 다른 질문은 귀하의 질문과 비슷하게 보일 것입니다.


업데이트 : 방화범의 인터넷 패널과 자바 스크립트 콘솔을 사용하고, 내가 요청/응답 헤더를 볼 수 있었다

. 여기,

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 헤더가 응답을 거부했습니다. about.config의 012.htp.sendRefererHeader 설정을 0으로 설정하면 Referer 헤더가 꺼집니다. 이것을 시도 할 때 Javascript 콘솔 메소드가 작동하기 시작했습니다.

refspoof이라는 Firefox 확장 프로그램이 있으며 여기에 도움이 될 Referer 헤더를 보내는 데 유용합니다.

+0

링크를 가져 주셔서 감사합니다. 방화범이 끌려 가면서 추적을 시도했지만 실제로 볼 수있는 https가 제한되어있어 어디서나 접속할 수 없습니다. 입력 URL을 직접 입력하면 확인 및 작동합니다. 북마크에 넣으면 differen 역할을합니다. . – Steve

+0

유망한 것으로 들립니다. 오늘 밤 한번 시도해 볼게. 콘솔에서 작동하면 북마크릿에서 작동합니다. – Steve

+0

감사! 그것은 효과가 있었다. about : config를 통해 리퍼러 설정을 사용 중지해도 상관 없으므로 refspoof를 설치하고 싶지는 않습니다. 어쩌면 나는 그것을 0으로 설정하고, 스크립트를 실행하고, 2로 다시 설정하는 확장 기능을 만들 수있다. 참고로, 리퍼러로 신용을 얻지 못하는 사이트 이외에, 리퍼러를 영구적으로 0으로 유지하는 결과는 무엇인가? Delicious/Yahoo가 왜 이렇게했는지 궁금합니다. – Steve

1

url=이 누락 된 것 같습니다.

+0

감사합니다. 나는 그것을 추가했고 여전히 같은 오류가 발생하고있다. – Steve

+0

Firefox 3.6에서 귀하의 예를 (인코딩 된 URL로) 시도해 보았습니다.Delicious에 다른 사용자 이름으로 로그인하셨습니까? Delicious에 로그인하기 위해 Yahoo ID를 사용하고 있습니까? –

+0

그랬습니까? 굉장해. 나는 FF 3.6.2를 사용하고 있으며, FF로 완전히 빠져 나와 야후와 야후 이외의 계정을 시도했다. 여전히 작동하지 않습니다. Yahoo 계정의 경우 zzz : pwd 및 zzz @ yahoo : pwd를 사용했습니다. 또한 방화벽을 끄고 작동하지 않았습니다. "사이트에 로그인하려고하는데 ... 인증을 필요로하지 않는 웹 사이트가 있습니까?" – Steve