0

동기 부여 : 루비 온 레일의 이상한/변이/이상한/엉뚱한 쿠키로 인해 발생하는 문제를 해결하고 있습니다. 나는 이러한 악의적 인 쿠키를 포착했으며 firefox에서 쿠키 관리자를 사용하여 문제를 재현하기 위해 쿠키 상태를 다시 만들 수 있습니다. 이러한 쿠키를 설정하는 작업을 자동화 할 레일 페이지를 작성하고 싶습니다.쿠키를 Rails2에 바로 설정하십시오.

문제점 : 레일 컨트롤러에서 _myapp_session 쿠키를 변경하거나 삭제하면 새로운 쿠키가 발행됩니다. 예를 들어 _myapp_session에 대한 다음 변경 사항은 사용자에게 표시되지 않습니다.

cookies[:_myapp_session] = 'abcedf' 

사용자가 잘못되었거나 손상된 쿠키를 포함하고있는 내 도메인의 정확한 쿠키를 다시 만들고 싶습니다. rails2로 어떻게 낮은 레벨을 얻을 수 있습니까?

답변

1

새 항목을 만들어서는 안됩니다. 페이지의 소스 도메인과 다른 도메인의 쿠키입니까? 그렇다면 cookie -setter 메소드에 블록을 전달하여 쿠키에 도메인을 설정할 수 있습니다.

cookies[cookie_name] = { 
    :value => 'your value', 
    :expires => 1.week.from_now, 
    :domain => 'sub.yourdomain.com' 
} 
+0

다른 도메인과 달리 레일스는 쿠키 항아리를 손에 쥐고 _myapp_session에 넣은 내용을 덮어 씁니다. –

+0

귀하의 질문은 다소 혼란 스럽습니다. 세션의 모든 변수는 세션 [: var]을 통해 액세스 할 수 있습니다. 세션 객체에 쿠키 저장소를 사용하는 경우 세션 쿠키를 직접 수정해서는 안됩니다. 내게 묻지 않는 한, 당신은 왜곡 된 쿠키를 뒷받침 할 증거가 있습니까? 게시물에 추가 할 수 있습니까? – WattsInABox

+0

손상된 쿠키 문제는 단순한 SO 문제를 뛰어 넘는 다양하고 지속적인 문제입니다. 나는 비뚤어 진 쿠키를 "지원"하고 싶지 않고 오히려 디버깅 목적으로이를 유도합니다. 네, 좋은 세션 쿠키를위한 세션 변수를 복사 할 수 있지만 바이트 수준에서 손상된 세션 쿠키는 어떻게됩니까? firefox 플러그인을 사용하여 얻을 수있는 약간의 쿠키 복제 비트가 필요합니다. –

관련 문제