이론적으로이 문제에 대한 해결책이있을 수 있습니다.
- 각 사용자의 북마클릿에 고유 한 CSRF 토큰을 포함합니다.
- 익명 함수로 책갈피 렛에 코드를 래핑하면 페이지에 액세스 할 수 없게됩니다.
- 북마클릿에 a strong hash function을 삽입하십시오. 이것은 북마크 렛의 코드 안에 완전히 넣어 져서 변경되지 않도록해야합니다. 당신의 XMLHttpRequest의에서
- , 당신은 보내
- 메시지를
- 의 해시 :
- 메시지
- 토큰 귀하의 CSRF
- 독특한, 긴 소금
- 사용자 ID
- 타임 스탬프 (메시지가 지금 보내 졌는지, 다른 시간에 보내지 않았는지 확인)
- 소금
- 타임 스탬프
- 사용자 ID 서버에서
- , 당신은 확인 : 타임 스탬프가 필요 허용 오차 마진 (내
- 하는 사용자의 컴퓨터 때문에 시계가 꺼져있을 수 있습니다.)
- 해시가 정확한지
- 모든 것이 올 바르면 메시지를 게시 할 수 있습니다. 웹 사이트 (예 :
Array()
등) 북마크가 사용하는 기능 중 하나와을 조작하는 경우, 악성 웹 사이트는 여전히 차단 복사 및/또는 메시지를 수정할 수 있습니다 :이 개념 하나의 결함이 있습니다
, userID 또는 CSRF 토큰.
아니요. 대신 웹 사이트 컨트롤의 'iframe'에 게시 한 다음 게시하기 전에 사용자에게 '확인()'을 요청할 수 있습니다. 또는 각 사용자의 북마크릿에 고유 한 CSRF 토큰을 포함시킨 다음 ... 잠깐, 생각이 들었습니다 ... – user2428118