캐시 된 양식 및 CSRF 토큰을 처리하는 가장 좋은 방법은 무엇입니까? Here 그들은 입력 속성의 JS 덮어 쓰기를 제안하지만 헤더도 캐시하고 싶습니다.조각 캐싱 및 CSRF
5
A
답변
4
다음은 다른 방법을 설명하는 문서입니다 : http://www.fastly.com/blog/Caching-the-Uncacheable-CSRF-security/.
짧은 요약 :
- ESI를 사용하여 (에지 사이드 포함) : 당신이 토큰 나중에 CSRF 채우기 레일에 자리를 렌더링합니다.
- 쿠키에 CSRF 토큰을 포함시키고 javascript를 통해 양식에 복사합니다.
- 토큰을 별도의 AJAX 요청으로 가져 와서 javascript를 통해 양식에 복사하십시오.
필자의 의견 :
당신은 ESI를 사용하기위한 특별한 인프라를 설정해야합니다, 그래서 내가 그 솔루션을 좋아하지 않는다. AJAX 요청은 느리고 네트워크 오버 헤드가 많으므로 그 솔루션도 마음에 들지 않습니다. 쿠키 솔루션이나 JS 솔루션을 사용하는 것이 가장 간단한 솔루션이므로 여기에 설명되어 있습니다.
1
이 작품은 나를 위해. 나는 이것을 내 application.js
에 보관했으며 모든 것이 완벽하게 작동합니다.
$.ajaxSetup({
beforeSend: function(xhr) {
var csrf_value = $("meta[name='csrf-token']").attr("content");
xhr.setRequestHeader("X-CSRF-Token", csrf_value);
},
});
관련 문제
- 1. 조각 캐싱
- 2. JSF 페이지 조각 캐싱
- 3. 조각보기에서의 조각 캐싱?
- 4. 레일 조각 캐싱 전략
- 5. 조각 캐싱 및 사용자 아바타/이미지
- 6. stylesheet_link_tag로 레일 4 조각 캐싱
- 7. rails3 캐싱 : 확장자가있는 조각 만료
- 8. django 템플릿에서 사용하기 위해 html 조각 읽기 및 캐싱
- 9. 레일 조각 캐싱 : 100K + 조각이 성능을 저하시킬까요?
- 10. yii의 조각 캐싱 : 내 모델을 어디에로드해야합니까?
- 11. rails 2.3.14 조각 캐싱, memcache-client 1.8.5
- 12. 레일스 맞춤 설정을 통한 조각 캐싱
- 13. Nginx의/SSI 독립적 인 조각 캐싱
- 14. CSRF 및 변경 토큰
- 15. CSRF, javascript 및 jquery
- 16. CSRF 위험 및 토큰
- 17. PHP 에코 CSRF 및
- 18. Ajax, CSRF 및 DELETE
- 19. CSRF 및 iframe을
- 20. 조각 활동 및 조각 : popBackStack
- 21. Go : 배열 배열, 조각 배열, 배열 조각 및 조각 조각
- 22. 레일 4 및 액션 캐싱
- 23. 레일 캐싱 및 권한 기반보기
- 24. Laravel 라우팅 및 CSRF 보호
- 25. Threadedcomments - csrf token 및 user_name
- 26. 레일, OAuth 및 CSRF 보호
- 27. 기본 쿠키 및 CSRF 질문
- 28. Django 및 iOS의 CSRF 토큰
- 29. Meteor.js 및 CSRF/XSS 공격
- 30. Tomcat 7 및 CSRF 필터
기본적으로 레일스는 CSRF 토큰이 포함 된 모든 양식에 숨겨진 필드를 삽입한다는 사실을 언급하지 않습니다. 이 양식은 여전히 캐시됩니다. 유효하지 않은 토큰 오류가 사라지더라도이 캐시의 다른 사용자에게 사용자 토큰이 누출됩니다. – phylae