답변
그것은하지 않습니다 정말 아무리하지만, 일반적으로
Base64 잘 작동합니다.
경계의주의 사항 : 당신이 쿠키에 임의의 설정을 저장할 같은
이 들린다. 쿠키는 모든 클라이언트 입력과 마찬가지로 신뢰할 수 없기 때문에 일반적으로 좋은 방법이 아닙니다. 생성 된 (임의!) 식별자 아래에 데이터 서버 측을 저장하고이를 쿠키에 넣는 것을 고려하십시오. 그렇게하면 사람들은 액세스 제한을 우회하거나 조작 된 쿠키를 통해 임의의 데이터를 시스템에 주입 할 수 없습니다.
이 방법을 사용할 수없는 경우 쿠키 값을 신뢰할 수없는 입력으로 처리하고 평소대로 확인하십시오.
편집 : 그것은 자바 쿠키를 지원하지 않는 "="사용으로
는 Base64로는 적합하지 않습니다. 오히려 사용하십시오
java.net.URLEncoder.encode
쿠키에만 적합한 문자를 사용합니다.
안전하지 않은 문자가있는 경우 16 진수 또는 URL 안전 버전의 Base64를 사용하여 인코딩하십시오. 일반 Base64는 쿠키 값으로 사용할 수 없습니다. 오래된 Tomcat은 "="처럼 불법 문자를 허용했지만 최근 버전에서는 쿠키 규칙을 시행하기 시작합니다.
내 PHP는 쿠키 값 인코딩 기능 :; 쿠키 쿠키 = 새로운 쿠키 ("이름", 새로운 String (name.getBytes (
<?
function encode_cookie_value($value)
{return strtr($value,
array_combine(str_split($tmp=",; \t\r\n\013\014"),
array_map('rawurlencode', str_split($tmp))
)
);
}
setrawcookie('kk', encode_cookie_value('jk=jk?jk-/":jk;jk jk,jk'));
?>
난 당신이 문자열 이름 = "Женя"와 같은 뭔가가 필요 이해 "cp1251"), "utf8")); response.addCookie (cookie);
키입니다. 그러면 데이터가 손상됩니다. – McDowell
패딩없이 Base64 인코딩을 사용하게되었습니다. 이것은 후행 등호가 생략되어 문제가 해결되었음을 의미합니다.
는 패딩이없는 Base64로 디코더에게java.util.Base64.getDecoder()
- 1. C#에서 인코딩 된 쿠키 값 처리
- 2. jQuery 쿠키 만료 값
- 3. 로컬 쿠키 값 편집
- 4. ASHX에서 쿠키 값 검색
- 5. MySQL의 잘못된 값 (인코딩)
- 6. java 애플릿 쿠키
- 7. ASP.NET 쿠키 하위 값 삭제
- 8. Javascript - 정의되지 않은 쿠키 값?
- 9. 쿠키 매개 변수 값 문제
- 10. Rails에서 쿠키 값 지움 테스트?
- 11. Java - XML의 이미지 인코딩
- 12. Java UTF8 인코딩
- 13. 문자 인코딩 문제 - Java
- 14. Java/XSLT 문자 인코딩
- 15. 인코딩 : Java 메모리 누수
- 16. WCF 획득 인증서 인코딩 값
- 17. asp.net HTML 인코딩 값 속성
- 18. ASP.NET Razor - 인코딩 해독 값
- 19. Java JTextPane HTML 이미지 쿠키
- 20. Java 용 JSON-Lib로 BigDecimal 인코딩
- 21. AMF 인코딩/디코딩을위한 Java 라이브러리
- 22. Java String UTF-8 인코딩
- 23. asp.net mvc의 전역 변수에 쿠키 값 저장
- 24. cURL 또는 이와 유사한 쿠키 값
- 25. 만료 업데이트하지 않고 ASP.NET 쿠키 업데이트 값?
- 26. 쿠키 값 주위에 따옴표를 넣는 톰캣
- 27. RSS 피드의 URL에 인코딩 키 - 값 쌍
- 28. 자바 스크립트에서 인코딩 된 값으로 값 설정
- 29. 웹 서비스 매개 변수 값 인코딩
- 30. Java : 반환 값 문제
경계의 노트 메모를 생성하기 위해 패딩이없는 Base64로 인코더
java.util.Base64.getEncoder().withoutPadding()
를 만들려면 : 그것은 당신이 조작하는 사람을 방지하려면 쿠키의 내용을 암호화하는 것이 가능 하지만 서버에 저장하고 싶지는 않습니다. – sfussenegger
질문과 관련이 없지만 쿠키를 암호화해도 클라이언트가 쿠키를 조작하지 못하게 할 수는 없습니다. 암호화는 쿠키가 실제로 무엇을 포함하는지 클라이언트로부터 만 숨 깁니다. 클라이언트가 쿠키의 내용을 조작 할 수없는 경우 클라이언트에서 쿠키를 수신하면 쿠키에 내용을 서명하고 서버 측에서 해당 내용이 서명과 일치하는지 확인해야합니다. – jarnbjo
@jambjo : 클라이언트가 암호화 된 쿠키의 내용을 조작하면, 적어도 적절한 암호화 알고리즘을 사용하여 임의의 가비지를 해독합니다. 따라서 클라이언트가 쿠키를 기술적으로 조작 할 수는 있지만 실제로는 DOS 이상을 달성 할 수는 없습니다 (아직 고려해야 할 사항). – sleske