programing

Chrome localhost 쿠키가 설정되지 않음

sourcejob 2023. 7. 13. 20:50
반응형

Chrome localhost 쿠키가 설정되지 않음

저는 쿠키를 사용하여 사용자가 선택한 언어를 저장하는 ASP.net 애플리케이션을 가지고 있습니다.제가 로컬 호스트에 있을 때만 빼고는 모든 것이 잘 작동합니다.localhost를 127.0.0.1로 바꾸면 다시 작동합니다... 왜죠?

file://에 대한 의도된 제한을 보았지만 실제로 localhost에 대한 의도된 제한에 대한 참조를 찾을 수 없습니다.

제가 정말 이해할 수 없는 것은 왜 ASP.net 세션(ASP)인지입니다.NET_SessionId) 및 ASP.net Forms Authentication Cookies(.FSAUTHSO)가 로컬 호스트 도메인에 대해 올바르게 설정되었지만 내 쿠키가... 왜?!

나는 이미 구글을 많이 검색했지만 아무 것도 작동하지 않습니다.

  • Chrome 명령줄 플래그 설정 --enable-file-cookies [DONSORWN]
  • 쿠키를 HttpOnly로 설정 [DONSATER]
  • 만료를 세션 또는 날짜로 변경하는 중...[중요하지 않음]
  • 쿠키 경로를 루트(/) 또는 다른 경로로 변경 [중요하지 않음]

그럼 뭐가 문제야?:)

그리고 ASP.net 쿠키는 설정할 수 있지만 내 쿠키는 설정할 수 없는 이유는 무엇입니까?뭐가 달라요?

마지막으로 언급하자면, 이것은 IE에서도 발생하지만 FF에서도 잘 작동합니다.

감사합니다!

알렉스야.

쿠키는 2단계 이하용으로 설계되었습니다.1단계 도메인이 작동하지 않습니다.대신 http://127.0.0.1 주소를 사용하거나 호스트 파일을 편집하여 다음과 같이 TLD가 있는 다른 URL을 127.0.0.1 주소에 매핑할 수 있습니다.

yoursite.tld   127.0.0.1

이것에 대해 좀 더 조사해 보았습니다. 다음 답을 찾았습니다. 명시적 도메인이 있는 로컬 호스트의 쿠키입니다.

를 .cookie.Domain = null로컬 호스트에서 도메인 이름을 사용합니다.

이것은 몇 시간 동안 나를 미치게 했어요!그때 깨달았어요.

  1. 최근에 HTTPS://localhost를 사용하여 같은 이름의 쿠키를 설정했습니다.

  2. 그것이 HTTP://localhost가 쿠키를 설정할 수 없었던 이유입니다.

  3. 그래서 저는 https로 가서 devtools의 "application" 탭에서 쿠키를 지우고 다시 http로 작동하기 시작했습니다.

chrome://flags/에서 쿠키를 검색하여 문제를 해결했습니다.다음 3개 플래그를 사용 안 함으로 설정...

  • 기본적으로 동일한 사이트 쿠키
  • SameSite=Cookie 제거 사용
  • 동일한 사이트가 없는 쿠키는 안전해야 합니다.

좋은 소식입니다.이제 Canary 빌드를 시작하는 Chrome에서 로컬 호스트에서 쿠키를 설정할 수 있습니다. https://code.google.com/p/chromium/issues/detail?id=551906

방금 크롬에서도 같은 문제가 발생했습니다.쿠키 먹었어요.보안 = true.로컬 호스트를 위해 그것을 제거한 것이 문제를 해결했습니다.

(FWIW: IE 또는 Chrome이 아닌 FF에서 작동)

이것이 어리석을 수도 있다는 것을 알지만, 제가 asp.net mvc 애플리케이션을 인수하면서 그들이 로컬에서 작업하도록 할 수 없게 되었습니다.마지막으로, 다른 개발자가 최근에 추가된 web.config의 항목을 가리켰습니다.

<httpCookies httpOnlyCookies="true" requireSSL="true" />

요구 사항 설정로컬에서 SSL을 "false"로 변경합니다.환경을 통해 변환을 적용해야 합니다.이것이 도움이 되길 바랍니다.

2011년 이후 크롬 오픈에 대한 이슈가 있는데, 도메인을 'localhost'로 명시적으로 설정하는 경우 다음과 같이 설정해야 합니다.false을 도인을다같설정합으로 합니다.127.0.0.1.

크롬에서 2주 후에 만료되는 쿠키가 설정되지 않는 문제가 있었습니다. 이것은 우연히 인증 쿠키(.AspNet)였습니다.애플리케이션 쿠키)를 사용하여 로그인 페이지로 계속 리디렉션되었습니다.제가 시도한 다른 브라우저에서는 이 문제가 발생하지 않았습니다.

저는 크롬이 현재 날짜가 실제 날짜보다 빠르다고 생각했는지 확인하기 위해 커스텀 쿠키를 실험하게 되었습니다. 예를 들어 오늘(2017년 4월 2일) 1년 만에 만료된 쿠키를 넣었고 실제로 크롬은 이 쿠키를 2017년 1월 1일로 설정했습니다!이것은 크롬이 실제 만료의 3분의 1을 차지하기 때문에 2주 만료 쿠키가 이미 만료된 것으로 간주된 이유를 설명합니다.

크롬 재부팅은 이것을 해결하지 못했습니다 - 저는 이 단계에서 PC를 재부팅했고 이것은 버그를 '수정'했습니다.또한 이것은 오직 다음 기간에만 발생했다는 것을 주목해야 합니다.localhost겉보기에는 다른 모든 사이트가 괜찮았습니다.

저의 경우 iexpress를 사용하여 asp.net 코어 면도기 페이지 앱을 실행하고 있었습니다(localhost:####) 그리고 Chrome에서 이 문제에 부딪혔습니다.수정 사항은 속성\launchSettings.json의 iisSettings가 sslPort(44344)에 대해 0이 아닌 숫자를 가지고 있는지 확인하는 것이었습니다.sslPort를 0으로 설정하면 iexpress가 실행되지 않습니다.44344를 변경하면 iexpress에서 ssl을 사용하여 앱을 실행합니다.또는 Visual Studio에서 프로젝트 속성으로 이동하고 디버그 탭에서 SSL 사용으로 이동하면 설정을 시작할 때도 동일한 변경이 수행됩니다.json 예

"iisSettings": {
  "windowsAuthentication": false,
  "anonymousAuthentication": true,
  "iisExpress": {
    "applicationUrl": "http://localhost:29025/",
    "sslPort": 44344
  }
},

Chrome 브라우저 >=79로 로컬 컴퓨터에서 이를 실행하려면 아래 단계를 따르십시오.chrome://flags/에서 쿠키를 검색하여 문제를 해결했습니다.다음 3개 플래그를 사용 안 함으로 설정...

기본적으로 동일한 사이트 쿠키 동일한 사이트가 없는 동일한 사이트= 중복된 쿠키 제거 사용은 안전해야 합니다.

- chrome://flags로 이동합니다. 이 3가지 옵션을 사용하지 마십시오.작동해야 합니다.

See on this image

몇 시간 동안 이 문제에 집착했고 문제는 쿠키가 잘못된 경로를 가지고 있다는 것이었습니다.그래서 모두가 쿠키가 어떤 경로로 설정되어 있는지 확인합니다!

언급URL : https://stackoverflow.com/questions/7346919/chrome-localhost-cookie-not-being-set

반응형